説明
current_time() は、サイトのタイムゾーンでの現在時刻を返す関数です。
基本構文
current_time( string $type, int|bool $gmt = 0 ): int|string|WP_DateTime
引数
$type:mysql/timestamp/date形式$gmt:trueでGMT
戻り値
指定した形式の現在時刻。
使い方(サンプル)
$now = current_time( 'mysql' );
注意点
- PHPの
time()はUTCです。サイトのタイムゾーンに合わせたいときにこちらを使います。 - WordPress 5.3 以降は
wp_date()の利用が推奨されます。
実務での使いどころ
- 現在の日時を、サイトのタイムゾーンで、取得するとき(
mysql)。 - データベースに保存する、日時の文字列を作るとき。
よくあるミスと対処
timestampの値を、UTCのタイムスタンプとして、使っている。サイトのタイムゾーンの分、ずれた値になる。UTCのタイムスタンプはtime()。$gmtの指定を、間違えている。1(またはtrue)で、GMTの時刻になる。- 表示するだけなら、
wp_date()が簡単。
NG例
$now = current_time( 'timestamp' ); // UTCではなく、タイムゾーンの分ずれた値
OK例
$now_mysql = current_time( 'mysql' ); // サイトの時刻 Y-m-d H:i:s
$now_utc = time(); // UTCのタイムスタンプ
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| サイトの現在時刻(DB用の文字列) | current_time( 'mysql' ) |
| UTCのタイムスタンプ | time() |
| サイトのタイムゾーンで、書式を指定して表示 | wp_date() |
関連項目
公式リファレンス:current_time() | Function | WordPress Developer Resources

コメント