PHPプログラムに関する各種メモ書き

PHPで日付を比較して日数の差を計算する

「○○○○イベント」まであと xx 日 ! をPHPで算出したい時があります。
以下の様にDatetimeクラスを使うと簡単に算出できます

$event_date = '2017-09-30 15:00:00';
$day1 = new DateTime( $event_date );
$day2 = new DateTime();
$day1->modify('noon');	// 時刻 12:00 をセット
$day2->modify('noon');	// 時刻 12:00 をセット

$interval = $day1->diff($day2);
$interval_day  = (int)$interval->format('%a');

echo "イベントまであと({$interval_day}日)です。";

なおこの diffメソッドは 、日付の「差」を求めるので
例えば「現在の日付」と「2日前の日付」を比較したときの戻り値は「-2」ではなく「2」になります

日付のどちらが古いか新しいかは PHP5.2以降の場合そのままオブジェクトを比較することができます。

if ( $day1 <= $day2 ){
echo( "「当日」または「過ぎています」" );
}


関連エントリー

No.1163
09/11 18:09

edit

日付