記事の内容
この記事では、PHP言語でよく使う日付関数を紹介したいと思います。
簡単なサンプルも書くので、これさえ読めば日付の使い方はバッチリです!
PHPのバージョンは、7系です。
date関数
date関数の基本的な使い方
まず最初に、タイムゾーンを設定します。
例を見ると、タイムゾーンを東京に指定した場合と台北に指定した場合では、時刻が異なることがわかります。
date関数の引数に文字列を入れることで、時刻が表示されます。
date関数で、閏年を判定することもできます。
曜日、月、年の設定はこんな感じです。
date関数に入れる引数は、以下のように決まっています。
日
- d 日。二桁の数字
- D 曜日。3文字のテキスト形式
- j 日。先頭にゼロをつけない
- l (小文字の 'L') 曜日。フルスペル形式
- w 曜日。数値。
月
- F 月。フルスペルの文字。
- m 月。数字。先頭にゼロをつける。
- M 月。3 文字形式。
年
- L 閏年であるかどうか。1ならば閏年。
- Y Y 年。4 桁の数字。
日付の加算
日付の加算には、strtotimeを利用します。
DateTimeクラス
日付の生成方法
まず最初に、タイムゾーンを指定します。
その上で、日付のフォーマットや表示方法を変更することができます。
日付の加算
日付をプラスしたり、マイナスすることもできます。
日付の差
diffの差は、DateIntervalを返します。
日付の差は、「日付の差」だけしか返さないのでご注意下さい。
同様に、月の差は、「月の差」だけしか返しません。
strtotime関数
Unixタイムスタンプの表示
strtotime関数では、現在日時や指定した日時のUnixタイムスタンプを取得することができます。
Unixタイムスタンプとは、協定世界時(UTC)で1970年1月1日(午前0時0分0秒)の時刻からの経過秒数を表すものです。
date関数と組み合わせて使うこともできます。
日付の比較
日付の比較には、strtotimeを利用します。
microtime関数
microtime() は、現在の Unix タイムスタンプをマイクロ秒単位で返します。
引数にtrueを入れると、float型で返すようになります。
通常は、trueを指定しましょう。
一応、引数にfalseを入れて、そこから引数にtrueを入れた時と同じ値を出す方法もコードに書いておきます。
ややこしい仕様ですが、歴史的な背景があるようですね。。。