PHPで日付の差(日数)を求めるサンプルプログラム。
日付が文字列で渡される場合、スマートな解決方法?

<?php
$date1 = "2012/10/10";
$date2 = "2012/11/15";

$daydiff = (strtotime($date2)-strtotime($date1))/(3600*24);

echo $daydiff;
?>

実行結果:
36


今日(本日)の日時からの日差を求める

(strtotime(date("Y-m-d H:i:s"))-strtotime("2012/11/15"))/(3600*24)

うーん、今日の日付のdate型の環境変数とかあったような・・・?

【解説】
strtotime
Unix タイムスタンプ (1970年1月1日 00:00:00 UTC からの経過秒数)を求める

つまり文字列日付をUnixタイムスタンプ秒に変換し差分を求め、1日の秒数(3600*24)で割り経過日数を求めている。





関連 2012-02-10 12:01:15