2009-08-11 8 views

答えて

4
$ts1 = strtotime('2009-07-26 18:42:21'); 
$ts2 = strtotime('2009-07-26 18:42:20'); 

$elapsedSeconds = $ts1 - $ts2; // = 1 
0

UNIXタイムスタンプとしてそれらを選択して、ちょうど日付を比較するために、このPHPコードを試してみて、他の

SELECT UNIX_TIMESTAMP(field1) AS time1, UNIX_TIMESTAMP(field2) AS time2 
1

から1を引きます。

<?php 
$date_difference_in_seconds = abs(strtotime($date_1) - strtotime($date_2)); 
?> 

MySQLが保存する日付は、PHPとは異なる形式です。 PHPはUnix Epochからの経過秒数を秒単位で格納します。詳細はhttp://en.wikipedia.org/wiki/Unix_timeで読むことができます。この1行のコードは、2つの日付をPHP形式に変換し、2つの日付を互いに減算してから、結果を否定しないようにします。

あなたは、MySQLが全く返す形式で日付を使用したいのですが、ただ単にそれらを差し引いた後は、メモリを節約する代わりに、まっすぐにSQLクエリを使用しない場合:

SELECT TIME_TO_SEC(TIME_DIFF(date_1, date_2)) AS date_difference_in_seconds FROM table; 
関連する問題