関数の概要
PHPの getdate 関数は、指定したタイムスタンプまたは現在の日時を基に、様々な日時情報を連想配列で取得するための関数です。現在の日時情報を簡単に取得したい場合に便利で、日付や時間の詳細を配列の形で扱うことができます。
パラメータの説明
timestamp(省略可能): 整数型のUnixタイムスタンプ。指定しない場合は現在の日時が使われます。
戻り値
連想配列を返します。配列には年(year)、月(mon)、日(mday)、曜日(日曜=0、土曜=6 の int 値で表現、wday)、時間(hours)、分(minutes)、秒(seconds)などが含まれています。配列のキーは下記の通りです。
- seconds: 秒(0〜59)
- minutes: 分(0〜59)
- hours: 時間(0〜23)
- mday: 日(1〜31)
- wday: 曜日(日曜日=0、土曜日=6)
- mon: 月(1〜12)
- year: 年(4桁)
- yday: 1年の通算日(0〜365)
- weekday: 曜日名(英語、例: “Monday”)
- month: 月名(英語、例: “January”)
使用例
基本的な使い方(現在日時を取得)
$dateInfo = getdate();
print_r($dateInfo);
このコードは、現在の日時情報を配列として取得し、内容を表示します。配列には年、月、日、曜日などの詳細が含まれます。
特定のタイムスタンプから日時を取得する
$timestamp = strtotime('2023-01-01 12:34:56');
$dateInfo = getdate($timestamp);
print_r($dateInfo);
ここでは、指定した日付「2023年1月1日 12:34:56」の日時情報を取得しています。strtotimeで文字列をタイムスタンプに変換し、getdateに渡しています。
日時の一部を取り出す
$dateInfo = getdate();
echo "今日は{$dateInfo['year']}年{$dateInfo['mon']}月{$dateInfo['mday']}日です。";
取得した配列から年、月、日だけを抜き出し、現在の日付を分かりやすいフォーマットで表示しています。
関連する関数
date(): 指定したフォーマットで日付文字列を生成する関数time(): 現在のUnixタイムスタンプを取得する関数strtotime(): 文字列からUnixタイムスタンプを生成する関数mktime(): 指定した日時のUnixタイムスタンプを作成する関数
まとめ
getdateは、現在日時や任意のタイムスタンプから詳細な日時情報を連想配列の形で取得できる便利な関数です。日付・時刻を細かく扱いたい場合や、配列操作で日付情報を管理したい場合に特に役立ちます。使い方もシンプルなので、PHPの日時操作の基本としてぜひ覚えておきましょう。
