うーん、abc667 と Jon を引用しますが、日付を比較したい場合は、単純な for を使用してすべての配列をスキャンし、配列内の現在の日付と次の日付を比較できます.. $cont という変数で for を使用する場合、 cont = 1 最初の日付は $array[1] ($array[$cont]) で、2 番目の日付は $array[2] ($array[$cont+1]) です。私は簡単な例を実行しました(実行されるかどうかはわかりませんが、;P)私の例では配列が$array_datesと呼ばれているように見え、新しい配列を作成しましたが、単純です。それを for サイクルに追加します。
<?php
// example >>> $array_dates[1] = '2013-2-13 12:30:00';
// scan all the array with the date
for ($cont=0; $cont<count($array_dates); $cont++)
{
$date_1 = $array_dates[$cont];
$date_2 = $array_dates[$cont+1];
list($data1,$His1) = explode(' ',$date_1);
list($year1,$month1,$day1) = explode('-',$data1);
list($hour1,$min1,$sec1) = explode(':',$His1);
list($data2,$His2) = explode(' ',$date_2);
list($year2,$month2,$day2) = explode('-',$data2);
list($hour2,$min2,$sec2) = explode(':',$His2);
$diff=mktime($hour2,$min2,$sec2,$month2,$day2,$year2)-mktime($hour1,$min1,$sec1,$month1,$day1,$year1);
$diff = mktime($hour2, $min2,$sec2, $month2,$day2,$year2) - mktime($hour1,$min1,$sec1, $month1,$day1,$year1);
$diff1 = floor($diff % (60*60*24));
$diff2 = floor($diff1 % (60*60)) ;
$sec = $diff2 % 60;
echo "<br>Seconds difference from <u>$date_1</u> and <u>$date_2</u>: <em>$sec</em><br>";
} //end of the for cycle
?>
よろしくお願いします。
編集:
mktime は数値の前にゼロがあると問題が発生するため (8 進数と見なされます!)、月をフォーマットで入力する必要がありますが、php.net で日付形式を読み取ることができます。