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の関数で取得する」 という考え方を覚えておくと安心です。