$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
$interval
上記をphpで秒に変換するにはどうすればよいですか
間隔の秒数を取得する別の方法は、それをゼロの日付に追加し、その日付のタイムスタンプを取得することです。
$seconds = date_create('@0')->add($interval)->getTimestamp();
このメソッドは、DateInterval コンストラクターを介して作成された間隔を多かれ少なかれ正しく処理しますが、shiplu の回答はそのような間隔の年、月、日を無視します。ただし、shiplu の回答は、2 つの日付を減算することによって作成された間隔に対してより正確です。時間、分、秒のみで構成される間隔の場合、どちらの方法でも正しい答えが得られます。
これには関数がありますformat
。ただし、秒数は返されません。秒数を取得するには、この手法を使用します
$seconds = abs($datetime1->getTimestamp()-$datetime2->getTimestamp());
どうしても使いたい場合$interval
は、計算する必要があります。
$seconds = $interval->days*86400 + $interval->h*3600
+ $interval->i*60 + $interval->s;
ここ
86400
1日の秒数です3600
は 1 時間の秒数です60
は 1 分間の秒数です