この章では日付に関する関数について説明します。
プログラム内で日付を扱うことがありますが、その時に「日付を扱う関数」を使います。 date関数はフォーマット文字に応じた日付や時刻を取得します。
フォーマット文字については後ほど説明します。
では例をみてみましょう。 結果は以下の通りです。
「現在の時刻は2012年08月17日14時 01分 53秒です」
この関数は第2引数のタイムスタンプを第1引数のフォーマット文字で変換した日付文字列を返します。
タイムスタンプは省略できますが、省略すると現在の時刻をフォーマット文字で変換した日付文字列を返します。
タイムスタンプとは1970年 1月 1日 0時 0分 0秒からの経過を秒数を表しています。
例えば2012年 1月 25日 22時 20分のタイムスタンプはと表示されます。
次はフォーマット文字について説明します。
先ほどの例のフォーマット文字はです。 strtotime関数は日付/時刻文字列をタイムスタンプに変換する関数です。
タイムスタンプは省略された場合は現在時刻が適用されます。
戻り値は成功したときはタイムスタンプ、失敗した時にはFALSEになります。
では例をみてみましょう。 1時間後の日付時刻を求めたい時はstrtotime関数で1時間後のタイムスタンプを得てから、date関数の引数に入れます。
1時間後はと書きます。
その他にも1日後は2012年09月10日は次の月曜日はと、書きます。 mktime関数は指定した日時のタイムスタンプを取得する関数です。
引数は右端から省略できますが、省略した箇所は現在の日付時刻が使われます。
引数をすべて省略しますと現在のタイムスタンプが返ってきます。 date関数の第2引数にmktimeの戻り値を指定します。
結果は です。 「年」を省略しますと現在の日付時刻が使われますので、
結果は です。
getdate関数は指定したタイムスタンプの日付情報を連想配列で返します。
タイムスタンプが指定されない場合は、現在の時間に関する情報を返します。 結果は現在の日付であるです。
$dには現在の時間に関する情報が連想配列の形式で入っているので、キーにを指定すると月の情報が得られます。