2023.12.13更新 PHPを8.0以上に上げたらWordPressがエラーとなるため、Code PHP in Widgetプラグインを無効化しました。他にPHP Code Widgetというプラグインも試しましたが、動作がおかしくなるため、PHPではなく、JavaScriptにて、カスタムhtmlブロックへ記述しました。ご参考にどうぞ。
<p>
◆2015年4月1日からウォーキングを始めて、病気他の19日を除いて、
<span id="walkingDays"></span>
日になりました。
</p>
<p>
◆また、2016年5月31日「世界禁煙デー」から禁煙を始めて、
<span id="nosmokingDays"></span>
日になりました。
</p>
<script>
// 関数: 指定された日付から現在日までの日数を計算
function calculateDays(startDate, elementId) {
var currentDate = new Date();
var startDateObj = new Date(startDate);
var daysDiff = Math.ceil((currentDate - startDateObj) / (24 * 60 * 60 * 1000));
// 計算結果をHTMLに表示
document.getElementById(elementId).textContent = daysDiff;
}
// ウォーキング実行日の計算と表示
calculateDays("2015/04/20", "walkingDays");
// 禁煙実行日の計算と表示
calculateDays("2016/05/31", "nosmokingDays");
</script>
<p>
◆ガラポンTV参号機を2532日使用、その後2021年1月22日に六号機に変更して、
<span id="runningDays"></span>
日になりました。
</p>
<script>
// 関数: 指定された日付から現在日までの日数を計算
function calculateDays(startDate, elementId) {
var currentDate = new Date();
var startDateObj = new Date(startDate);
var daysDiff = Math.ceil((currentDate - startDateObj) / (24 * 60 * 60 * 1000));
// 計算結果をHTMLに表示
document.getElementById(elementId).textContent = daysDiff;
}
// 六号機使用日数と計算結果の表示
calculateDays("2021/01/22", "runningDays");
</script>
2016.8.17
WordPressの中で、経過日数を表示するのに便利なプラグインを探してみました。
“Code PHP in Widget”を使ってみます。プラグインの新規追加で検索しインストールします。さらにプラグインを有効にするだけで使用開始OKです。
管理メニューのウイジェットの利用できるウィジェットの中に、Code PHP in Widgetが追加されているので、これをサイドバーへドラッグ&ドロップします。
例えば、ウオーキングの経過日数と禁煙の経過日数の両方を、混ぜて表示するように記述してみます。
結果は、こんな感じで表示されます。
ポイント解説
日付変更は、協定世界時(UTC)に合わせられるため、日本より9時間遅くなります。これを日本の日付変更時刻に合わせるために、
date_default_timezone_set('Asia/Tokyo');
を挿入しています。
次に利用上の工夫ですが、ウオーキングは、病気や台風など諸事情で実施できない日が出てきます。その日数分を減算する必要があります。私は、その日数だけ開始日を後にズラすようにしています。
具体的には、2015年4月1日+実施出来なかった日数19日=2015年4月20日 としています。
それらによるソースコードのサンプルは、以下のようになります。
◆2015年4月1日からウォーキングを始めて、病気他の19日を除いて、
<?php
//指定日
$date = "2015/04/20";
date_default_timezone_set('Asia/Tokyo');
//日数表示
echo ceil( ( time() - strtotime($date) ) / (24*60*60));
?>
日になりました。<br>
◆また、2016年5月31日「世界禁煙デー」から禁煙を始めて、<?php
date_default_timezone_set('Asia/Tokyo');
//指定日
$date = "2016/05/31";
//日数表示
echo ceil( ( time() - strtotime($date) ) / (24*60*60));
?>
日になりました。
WordPressには、無料であって使いやすいプラグインが数多くあり、しかも簡単にインストールし使用開始できるので便利です。