PHP Date() & Time 関数: 現在のタイムスタンプを取得する方法?
⚡ スマートサマリー
PHPのdate()関数は、タイムスタンプを人間が読みやすい日付と時刻にフォーマットします。このチュートリアルでは、日付の構文、Unixタイムスタンプ、タイムゾーンの一覧表示と設定方法、タイムスタンプを作成するためのmktime関数、および時刻、日、月、年の書式文字の完全なリファレンスについて説明します。
PHPのdate()関数
PHPのdate関数は、日付データ型を扱う作業を簡素化する組み込み関数です。PHPのdate関数は、日付や時刻を人間が読みやすい形式に整形するために使用されます。記事の公開日を表示したり、データベース内のデータが最後に更新された日時を記録したりするのに使用できます。
PHP の日付の構文と例
PHPのdate()関数には、以下の基本的な構文があります。
<?php date(format,[timestamp]); ?>
ここに、
- 「date(…)」は、現在のタイムスタンプをフォーマットして返す関数です。 PHP サーバー上で
- 「format」は、出力の一般的な形式を指定します。例えば、次のようになります。
- PHPの日付形式YYYY-MM-DDの「Ymd」
- 「Y」は現在の年を表示します
- 「[timestamp]」は省略可能です。タイムスタンプが指定されていない場合、PHPはサーバーの現在の日時を使用します。
それでは、現在の年を表示する基本的な例を見てみましょう。
<?php echo date("Y"); ?>
出力:
2026
タイムスタンプとは何ですか?
PHPのタイムスタンプは、現在時刻と1の時点の値との間の秒数を表す数値です。st 1970年1月00:00:00 グリニッジ標準時(GMT)。
time 関数によって返される値は、デフォルトのタイムゾーンによって異なります。
デフォルトのタイムゾーンはphp.iniファイルで設定されています。また、date_default_timezone_set関数を使用してプログラムで設定することもできます。
以下のコードは現在のタイムスタンプを表示します。
<?php
echo time();
?>
phptutsフォルダにtimestamp.phpファイルを保存したと仮定して、 URL http://localhost/phptuts/timestamp.php
注:タイムスタンプの値は定数ではありません。毎秒変化します。
利用可能なタイムゾーン識別子のリストの取得
プログラムでデフォルトのタイムゾーンを設定する方法を見る前に、サポートされているタイムゾーンのリストを取得する方法を見ていきましょう。
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
ここに、
- 「$timezone_identifiers = DateTimeZone::listIdentifiers();」は、DateTimeZone組み込みクラスのlistIdentifiers静的メソッドを呼び出します。listIdentifiersメソッドは、変数$timezone_identifiersに代入される識別子のリストを返します。
- 「foreach{…}」は配列を反復処理し、値を出力します。
list_time_zones.php ファイルを phptuts フォルダに保存したと仮定して、 URL http://localhost/phptuts/list_time_zones.php
PHP はプログラムでタイムゾーンを設定します
date_default_timezone_set 関数を使用すると、PHP スクリプトからデフォルトのタイムゾーンを設定できます。
設定されたタイムゾーンは、すべての日付に使用されます PHP関数 スクリプト内で使用します。構文は以下のとおりです。
<?php date_default_timezone_set(string $timezone_identifier); ?>
ここに、
- 「date_default_timezone_set()」はデフォルトのタイムゾーンを設定する関数です
- 「string $timezone_identifier」はタイムゾーン識別子です
以下のスクリプトは、php.iniで設定されているデフォルトのタイムゾーンに従って時刻を表示します。その後、デフォルトのタイムゾーンをAsia/Calcuttaに変更し、再度時刻を表示します。
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
set_time_zone.php ファイルを phptuts フォルダに保存したと仮定して、 URL http://localhost/phptuts/set_time_zone.php
PHP Mktime関数
mktime 関数はタイムスタンプを返します。 Unixの 形式でダウンロードすることができます。
構文は次のようになります。
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
ここに、
- 「mktime(…)」はPHPのタイムスタンプ作成関数です。
- 「hour」は省略可能で、時間の数字を表します。
- 「分」は省略可能です。分数を表します。
- 「秒」は省略可能です。秒数を表します。
- 「月」は省略可能で、月の番号を表します。
- 「day」は省略可能で、日付の番号を表します。
- 「year」は省略可能で、年を表す数字です。
- 「is_dst」はオプションです。夏時間(DST)を判定するために使用されます。1は夏時間、0は夏時間以外、-1は不明です。
それでは、mktime関数を使用して2025年10月13日のタイムスタンプを作成する例を見てみましょう。
<?php
echo mktime(0,0,0,10,13,2025);
?>
ここに、
- 「0,0,0」はそれぞれ時、分、秒を表します。
- 「10」はその年の月です
- 「13」は月の日です
- 「2025年」はその年です
出力:
1760328000
PHP日付フォーマットリファレンス
以下の表は、PHPの日付関数を使用する際によく使われる書式文字を示しています。
時間パラメータ
| 詳細説明 | 例: | |
|---|---|---|
| 「R」 | 完全な日付と時刻を返します |
<?php echo date("r"); ?> |
| 「a」、「A」 | 現在の時刻が午前か午後、午前か午後かをそれぞれ返します。 |
<?php echo date("a"); echo date("A"); ?> |
| 「g」、「G」 | 先頭のゼロを除いた時間を返します [1 ~ 12]、[0 ~ 23] |
<?php echo date("g"); echo date("G"); ?> |
| 「h」、「H」 | それぞれ先頭にゼロを付けて時間を返します(01~12、00~23)。 |
<?php echo date("h"); echo date("H"); ?> |
| "は" | 分/秒を先頭にゼロを付けて返します [00 ~ 59] |
<?php echo date("i"); echo date("s"); ?> |
曜日パラメータ
| 詳細説明 | 例: | |
|---|---|---|
| 「d」 | 先頭にゼロを付けて日付を返します [01 ~ 31] |
<?php echo date("d"); ?> |
| 「j」 | 先頭にゼロを付けずに日付を返します [1 ~ 31] |
<?php echo date("j"); ?> |
| 「D」 | 曜日名の最初の3文字を返します(日~土)。 |
<?php echo date("D"); ?> |
| 「L」 | 曜日名を返します(日曜日から土曜日まで)。 |
<?php echo date("l"); ?> |
| "の" | 先頭のゼロを除いた曜日を返します(0~6)。日曜日は0、土曜日は6で表されます。 |
<?php echo date("w"); ?> |
| 「ズ」 | 先頭にスペースを入れずに年間通算日を返します [0 ~ 365] |
<?php echo date("z"); ?> |
月パラメータ
| 詳細説明 | 例: | |
|---|---|---|
| "m" | 先頭にゼロを付けた月番号を返します [01 ~ 12] |
<?php echo date("m"); ?> |
| 「n」 | 先頭のゼロを除いた月番号を返します [1 ~ 12] |
<?php echo date("n"); ?> |
| "M" | 月名の最初の 3 文字を返します [XNUMX 月から XNUMX 月] |
<?php echo date("M"); ?> |
| 「F」 | 月の名前を返します [XNUMX 月から XNUMX 月] |
<?php echo date("F"); ?> |
| 「t」 | 28 か月の日数を返します [31 ~ XNUMX] |
<?php echo date("t"); ?> |
年のパラメータ
| 詳細説明 | 例: | |
|---|---|---|
| 「L」 | 閏年の場合は1、閏年でない場合は0を返します。 |
<?php echo date("L"); ?> |
| 「Y」 | 4桁の年形式を返します |
<?php echo date("Y"); ?> |
| "そして" | 2桁の年形式(00~99)を返します。 |
<?php echo date("y"); ?> |




