PHPでstrtotime関数を使い日付・時間表示する方法

PHPで文字列からUnixタイムスタンプに変換することができるstrtotime関数について説明します。

date関数と組み合わせることで、日付フォーマットを柔軟に変更することができます。

strtotime関数の使い方

strtotime関数では、「2016-05-18」といった日付形式以外にも、英文形式の日付「10 September 2000」でも日付を指定できます。

また、具体的な日付を指定するほかに「now」や「tomorrow」といった相対的な日付も指定することができます。以下に一例を挙げます。

現在

明日(1日後)

1週間後

次の曜日

前の曜日

複合

strtotime関数の結果は、UNIXタイムスタンプ形式のint型で戻されます。システムがこのint型を基準に2日後、1週間前などの日付、時間を取得したい場合に計算しやすいため、このような形式でデータを持っています。

date関数を使って変換

結果を分かりやすい形式に変換するためにはdate関数を使用してint型から指定されたフォーマットに変換します。

strtotimeで使える相対的な日付書式

0-9までの算用数字が使え、正(+)と負(-)を指定できます。単位や日付は以下のシンボルが使えます。

シンボル 書式
日付・時刻 yesterday,midnight,today,now,noon,tomorrow
曜日 sunday, monday, tuesday, wednesday, thursday, friday, saturday, sun, mon, tue, wed, thu, fri , sat
順序 first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, next, last, previous, this
前後など next, last, previous, this
単位 sec, second, min, minute, hour, day, fortnight, week, month, year, weekday