web-dev-qa-db-ja.com

日のPHPの日付差?

PHPで日付差を計算する簡単な方法はありますか?例えば:

$date1 = '2009-11-12 12:09:08';
$date2 = '2009-12-01 08:20:11';

次に、$ date2から$ date1を引いた計算を行います

Php.netのドキュメントを読みましたが、運はありません。簡単な方法はありますか?

82
mysqllearner

strtotimeは、日付文字列をUNIXタイムスタンプに変換します。 (Unixエポックからの秒。

$ts1 = strtotime($date1);
$ts2 = strtotime($date2);

$seconds_diff = $ts2 - $ts1;
48
txyoji

以下の例のように、date-> diff関数を使用することをお勧めします。

   $dStart = new DateTime('2012-07-26');
   $dEnd  = new DateTime('2012-08-26');
   $dDiff = $dStart->diff($dEnd);
   echo $dDiff->format('%r%a'); // use for point out relation: smaller/greater

http://www.php.net/manual/en/datetime.diff.php を参照してください

188
adam

以下のコードは、2つの日付の差を取り出すことにより、日数の出力を提供します。

$str = "Jul 02 2013";
$str = strtotime(date("M d Y ")) - (strtotime($str));
echo floor($str/3600/24);
15
Anirudh Sood