DateTimeオブジェクトを使用して、NOWから特定の日時までの日数を返したいと思います。私の日付は次のとおりです。
$now = "2018-03-08 14:00:00";
$last = "2018-02-06 20:00:00";
そして、私はこのようにします:
$now = new DateTime();
$last_dt = new DateTime($last);
$difference = $last_dt->diff($now);
$difference->format('%d');
$num_of_days = $difference->d;
奇妙な理由で、$ num_of_daysの値は(30ではなく)1です。
誰かがなぜお願いするのか知っていますか?
ありがとうございました
DateInterval::$days
合計を日数で取得するには、を使用する必要があります。
DateInterval::$d
つまり、32日の差がために2を返します、わずか数日の数が、「グループ化形態」であるDateInterval::$d
と1
するためにDateInterval::$m
。
$last = "2018-04-10 20:00:00";
$now = new DateTime();
$last_dt = new DateTime($last);
$difference = $last_dt->diff($now);
echo "Difference: ".$difference->m." months and ".$difference->d." days, or ".$difference->days." days in total";
結果
違い:1か月と2日、または合計33日
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加