PHPの date() 関数で今日の日付を取得する
PHPで今日の日付を取得する最も簡単な方法は、date()
関数を使うことです。
以下のコードを見てください。
|
|
|
|
上記のコードは、たとえば2025年2月11日の場合「2025-02-11」と表示されます。
このように、date()
関数に適切なフォーマット文字列(ここでは "Y-m-d"
)を渡すだけで、今日の日付をすぐに取得できます。
タイムゾーンの設定方法
正しい日付を取得するためには、タイムゾーンの設定も重要です。
サーバーのデフォルト設定が日本時間になっていない場合、以下のようにタイムゾーンを明示的に設定しましょう。
|
|
この設定により、常に正確な日本時間の今日の日付が取得できます。
はい、PHPではdate()
関数以外にも今日の日付を取得する方法がいくつかあります。ここでは、代表的な方法を2つご紹介します。
date関数以外の取得方法
DateTimeクラスを使う方法
PHP5以降では、DateTimeクラスを利用するのが一般的です。オブジェクト指向のアプローチなので、後々の日時操作にも柔軟に対応できます。例えば、今日の日付を取得して「YYYY-MM-DD」形式で表示するには、以下のように記述します。
|
|
|
|
また、DateTimeImmutable
クラスを使用すると、オブジェクトが不変(immutable)となるため、安全に日時の操作を行えます。
getdate() 関数を使う方法
PHPのgetdate() 関数は、現在の日時情報を連想配列として取得します。取得した配列の各要素(年、月、日など)を組み合わせて、今日の日付を整形する方法もあります。
|
|
|
|
キー | 説明 |
---|---|
seconds | 秒(0~59):現在の秒数 |
minutes | 分(0~59):現在の分数 |
hours | 時(0~23):現在の時(24時間制) |
mday | 日(1~31):現在の月の日付 |
wday | 曜日(0~6):0は日曜日、6は土曜日 |
mon | 月(1~12):現在の月 |
year | 年:現在の西暦年 |
yday | 年内通算日(0~365):その年の何日目か |
weekday | 曜日(英語):曜日の名前 |
month | 月(英語):月の名前 |
0 | タイムスタンプ:Unixエポックからの経過秒数 |
getdate()は各要素にアクセスできる点で便利ですが、フォーマットの調整を自分で行う必要があるため、DateTimeクラスを使う方法より少し手間がかかります。
まとめ
- PHPの
date()
関数で今日の日付をシンプルに取得できる。 "Y-m-d"
フォーマットで「年-月-日」を簡単に表示可能。- タイムゾーンの設定(
date_default_timezone_set()
)を忘れずに行うことが大切。 - DateTimeクラスはオブジェクト指向で柔軟な日時操作が可能。
- getdate()関数は連想配列として日時要素を取得し、独自にフォーマットできる。
サンプルコードはPHP Playground で実行できます。
date
関数の詳しい解説については下記記事をお読みください。
初心者向け PHP date関数の使い方ガイド