【WordPress】経過日数を表示する方法

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には、無料であって使いやすいプラグインが数多くあり、しかも簡単にインストールし使用開始できるので便利です。

 

Michiko.Hさん(@_mcccccchun_)が投稿した写真