current_time() の使い方|説明・引数・注意点

説明

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()

関連項目

wp_date()、date_i18n()

公式リファレンス:current_time() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました