WordPressでPHPの日付を取得する方法まとめ|投稿日時・現在日時・日本時間で表示する

公開日:2026.06.19 更新日:2026.06.23

PHP

この記事には広告が含まれています。

はじめに

WordPressでサイト制作をしていると、日付を表示したい場面は非常に多くあります。

例えば、

  • 投稿の公開日を表示したい
  • 更新日を表示したい
  • 「最終更新日」を表示したい
  • 今日の日付を表示したい
  • キャンペーン期間を判定したい

など、日付を扱う機会は少なくありません。

しかし、PHPには

date()

関数があり、WordPressにも

get_the_date()

current_time()

など複数の取得方法があります。

適当に使ってしまうと、

UTC(協定世界時)で取得されてしまい、日本時間と9時間ズレる

というトラブルもよくあります。

この記事では、WordPressで日付を取得する方法を実務で使うパターンごとに紹介します。

投稿の日付を取得する方法

投稿ページやループ内では、WordPress専用の関数を利用します。

最もよく使うのがこちらです。

the_date();

ただし、この関数は同じ日に投稿された記事では一度しか表示されません。

そのため実務ではほとんど使われません。

公開日を表示する

もっとも使用頻度が高いのがこちらです。

the_time('Y.m.d');

表示例

2025.06.19

取得だけしたい場合は

$date = get_the_date('Y.m.d');

HTMLへ埋め込みたい場合はこちらがおすすめです。

<p><?php echo get_the_date('Y.m.d'); ?></p> 

日付フォーマット一覧

PHPでは好きな形式で表示できます。

年月日

get_the_date('Y/m/d');

表示

2025/06/19

ハイフン区切り

get_the_date('Y-m-d');

表示

2025-06-19

日本語表示

get_the_date('Y年n月j日');

表示

2025年6月19日

曜日付き

get_the_date('Y年n月j日(D)');

表示

2025年6月19日(Thu)

日本語で表示したい場合は後ほど紹介する方法がおすすめです。


時刻付き

get_the_date('Y/m/d H:i');

表示

2025/06/19 15:30

年だけ

get_the_date('Y');

表示

2025

月だけ

get_the_date('m');

表示

06

日だけ

get_the_date('d');

表示

19

更新日を取得する

SEOでもよく利用されます。

echo get_the_modified_date('Y.m.d');

表示

2025.06.20

更新日を表示するサイトは最近かなり増えています。

公開日と更新日を表示する

公開日:

<?php echo get_the_date('Y.m.d'); ?>

更新日:

<?php echo get_the_modified_date('Y.m.d'); ?>

更新された場合だけ更新日を表示

実務ではこちらがよく使われます。

<?php<br />
if(get_the_date() != get_the_modified_date()){<br />
 echo '更新日:'.get_the_modified_date('Y.m.d');<br />
}<br />
?>

公開日と更新日が同じ場合は表示されません。

現在の日付を取得する方法

PHPには有名な関数があります。

echo date('Y-m-d');

一見これで問題なさそうですが、

WordPressではおすすめしません。

理由があります。

date()を使うとUTCになることがある

PHPの

date()

はサーバーのタイムゾーン設定に依存します。

例えば海外サーバーでは

UTC

になっている場合があります。

すると

2025-06-19 00:30

日本時間では

2025-06-19 09:30

なのに

2025-06-18

になってしまうケースがあります。

つまり9時間ズレます。


WordPressではcurrent_time()を使う

WordPressではこちらを利用します。

echo current_time('Y-m-d');

表示

2025-06-19

この関数は

WordPressのタイムゾーン設定

を使用します。

そのため管理画面で

設定

一般

タイムゾーン

東京

なら、日本時間になります。

実務ではこちらを使うのが基本です。

現在時刻も取得できる

echo current_time('Y-m-d H:i:s');

表示

2025-06-19 15:45:20

Unixタイムスタンプを取得する

echo current_time('timestamp');

こちらは日時比較などで便利です。

例えば

if(current_time('timestamp') > strtotime('2025-12-31')){<br />
 echo '終了';<br />
}

のような使い方ができます。

PHPのDateTimeを使う方法

より細かく扱うならこちらです。

$date = new DateTime('now', new DateTimeZone('Asia/Tokyo'));<br>
echo $date->format('Y-m-d H:i:s');

こちらも日本時間になります。

WordPress以外でも利用できます。

曜日を日本語で表示する

PHPでは

date('D');

だと

Mon<br />
Tue<br />
Wed

になります。

日本語表示なら

$week = ['日','月','火','水','木','金','土'];<br>
echo $week[current_time('w')];

表示

曜日付きなら

<?php<br>
$week = ['日','月','火','水','木','金','土'];<br>
echo current_time('Y年n月j日');<br />
echo '('.$week[current_time('w')].')';<br>
?>

表示

2025年6月19日(木)

よく使う日付フォーマット一覧

コード 表示例
Y 2025
y

25

m

06

n

6

d

09

j

9

H

15

i

30

s

45

Y/m/d

2025/06/19

Y-m-d

2025-06-19

Y年n月j日

2025年6月19日

実務でおすすめの使い分け

実際のWordPress案件では次のように使い分けています。

投稿日時

get_the_date()

更新日

get_the_modified_date()

現在日時

current_time()

日時計算

current_time('timestamp')

WordPress以外のPHP

DateTime

逆に、

date()

はWordPressではあまりおすすめしません。

タイムゾーンによるズレが起こる可能性があるためです。

まとめ

WordPressでは日付を取得する方法がいくつかありますが、用途によって使い分けることが重要です。

  • 投稿の公開日は

    get_the_date()
  • 更新日は

    get_the_modified_date()
  • 現在日時は

    current_time()
  • 日時比較は

    current_time('timestamp')
  • PHP単体なら

    DateTime

特に現在日時を取得する場合は、PHPの

date()

をそのまま使うのではなく、WordPressの

current_time()

を利用することで、管理画面で設定したタイムゾーン(日本なら「東京」)を反映できます。

WordPress案件ではタイムゾーンの違いによる不具合は意外と多いため、実務では 「WordPressの日時はWordPressの関数で取得する」 という考え方を覚えておくと安心です。