https://www.sejuku.net/blog/wp-content/themes/voice_child/images/samurai_logo.png 侍エンジニア塾が運営するプログラミング入門者向け学習情報サイト

忘れたら読みたいPHPの時間(datetime)で使えるメソッド・使い方まとめ

書いた人 山本


侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

PHPでは日付や時刻を扱うにはDateTimeクラスを使用します。

この記事では、

・DateTimeクラスとは
・DateTimeクラスの基本的な使い方
・フォーマットを指定する方法(formatメソッド)

などの基本的な解説から、

・日付を比較する方法
・日付を計算する方法(add)
・タイムゾーンの取得と設定

などの応用的な方法についても解説していきます。

よく忘れるPHPの時間(datetime)処理を行うメソッドやその使い方についてまとめていますので、ぜひご覧になってください。

DateTImeクラスとは

日付や時間を扱った計算や操作を行うには、DateTimeクラスを使用します。

DateTimeクラスはPHP5.2.0以降であれば使用可能です。

DateTimeクラスは以下のように記述します。

引数は指定しない場合は現在の日時を取得することができます。

フォーマットの指定方法(format)

DateTimeクラスで日時のフォーマットを指定するにはformatメソッドを使用します。

formatメソッドは第一引数にフォーマット文字列を指定します。

サポートされているフォーマット文字列については、以下のページに記載されています。
http://php.net/manual/ja/function.date.php

以下ではオブジェクト指向型、手続き型でformatメソッドを使用する方法について紹介します。

オブジェクト指向型

formatメソッドの詳しい使い方については、以下の記事でも詳しく解説しています!

手続き型

日付を比較する方法

DateTimeクラスで取得した日付同士で比較を行うことも可能です。

上の例の出力は以下となります。

タイムスタンプでの比較

文字列での比較

日付は以下のように文字列での比較もできます。

日付を計算する方法(add)

ここでは日付を使用しての計算方法を紹介します。

基本形

加算

diff(日時の差分を取得する)

出力結果:

タイムスタンプ取得

DateTime と DateTimeImmutable

DateTimeImmutableクラスは、基本的にDateTimeクラスと同じメソッドを持ちます。

DateTimeクラスの異なる点はDateTimeImmutableは、自身は変更せずに新しいオブジェクトを返します。

PHP5.5以上が使えるのなら、DateTimeImmutableの方がおすすめです。

関連記事

PHPの日付(date)のメソッドの使い方や、Array(配列)文法・メソッドの使い方については、以下の記事で詳しく解説しています!

網羅的に解説していますので、ぜひ参考にしてくださいね!

まとめ

ここではDateTime関数を使用して、

・DateTimeクラスとは
・formatメソッドを使用して日付をフォーマットする方法
・日付を比較する方法
・日付を計算する方法(add)

などについて解説しました。

DateTimeクラスは日付を扱う上でよく使用しますので、この機会によく覚えておきましょう!

もし、DateTimeクラスの使い方を忘れてしまったら、この記事を思い出してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

山本