[WordPress] サイドバーに経過日数を表示する2
以前 WordPress のサイドバーに経過日数を表示する方法について書いた。
[WordPress] サイドバーに経過日数を表示する – with a Christian Wife
https://wacw.cf/2019/06/30/day-counter-on-wordpress-widget/
これは子どもが生まれてからの経過日数を表示させるためにやったことだった。
さらに、年月日数も表示させたくなった。
上記の方法では UNIX タイムで計算している。UNIX タイムだと計算の小数点以下の処理でややこしくなる。
そこで、DateTime クラスを使えばもっと簡単にできると分かった。
参考:
PHPで日付の比較をするにはDateTimeクラスが便利!|TECH PLAY Magazine [テックプレイマガジン]
https://techplay.jp/column/596
以下のような php ファイルを作成すればいい。
1<?php
2
3$time1 = new DateTime('now');
4$time2 = new DateTime('2019-04-01');
5
6$diff = $time1->diff($time2);
7
8echo '今日は 2019/4/1 から数えて ';
9echo $diff->format('%a 日目です。'), PHP_EOL;
10echo $diff->format('これは %y 歳 %m か月 %d 日です。');
11
12?>
これで以下のような結果が得られるようになった。
今日は 2019/4/1 から数えて 849 日目です。
これは 2 歳 3 か月 27 日です。
なお PHP のテストには以下のサイトを使うと便利だ。
Online PHP Editor | Online editor and compiler
https://paiza.io/en/projects/new?language=php