日付と時刻に通常の PHP コード (d、Y、m など) を使用して日付の差をフォーマットしようとすると、値ではなく単に文字が出力されます。これは、DateTime::diff をフォーマットする場合のみです。単純な DateTime オブジェクトで問題なく動作します。
これ:
$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$date=$date2->diff($date1);
echo $date->format('d days ago');
「d日前」を出力します。
d を %a に置き換えると、これが何日前であったかが出力されることはわかっています。秒、分、さらには年を出力する他の文字は何だろうと思っていました。
前もって感謝します!