ワードプレスで記事の投稿時間を表示する事はよくあると思いますが、今回紹介したいのは今日現在のリアルな日付を表示するコードです。ユーザーがサイトを見ているリアルな日付を表示する事ができます。
さらに今現在の日付だけではなく、昨日の日付や明日の日付など、今日からずらした日付を表示する事も可能です。
使い方の一例としましては、例えば過去30日間の人気記事ランキングなどを作成した時に『このランキングは○○○○年○月○日~○○○○年○月○日の期間で集計したものです。』みたいな概要を書くことができます。
今現在のリアルな日付を表示するコード
まずは一番基本形の今現在の日付を表示するコードです。
<?php echo date("Y年m月d日"); ?>
2017年06月05日
↑このように表示されます。問題なく表示されているように見えますが、ここで日付と一緒に時間も表示してみましょう。
<?php echo date("Y年m月d日 H:i:s"); ?>
2017年06月05日 04:47:45
一見正しく表示されているように見えます。実際に表示させてみれば分かるのですが、実はリアルな時間と9時間遅れのズレがあります。これはワードプレスの中の時刻がUTC(世界標準時)に合わせてあるからこうなるわけですが、正しい時刻にあわせるのであれば+9時間してあげなければなりません。
<?php echo date('Y年m月d日 H:i:s', strtotime('+9hour')); ?>
2017年06月05日 13:47:45
strtotimeを追加する事によって正しい時間が表示されました。
昨日や明日の日付を表示する
先ほどの9時間修正したコードを踏まえたうえで、今度は昨日や明日といった現在の日付から何日かずらした日付を表示する方法です。これも同じくstrtotimeを使います。
例えば現在の日付から-1日した日付…つまり昨日の日付を表示させるにはこのように書きます。
<?php echo date('Y年m月d日', strtotime('+9hour,-1day')); ?>
strtotimeで-1dayを追加する事によって昨日の日付が表示されます。もし明日の日付を表示させたいのであればここを+1dayにすればOKです。
1日前 | -1day |
---|---|
1週間後 | -1week |
30日前 | -30day |
1ヶ月前 | -1month |
1年前 | -1year |
- 明日や1週間後を表示する場合は-(マイナス)を+(プラス)にする。