私は時間形式を持っています:
$start_time; (example: 1:30 PM)
$system_time; (example: 8:20 AM)
echo $time_left_for_discussion = $start_time - $system_time;
$start_time - $system_time を減算したい。しかし、正しい結果が表示されません。
この種の時間の減算をどのように処理できますか?
DateTime::createFromFormat()
両方の時間で使用し、それらを減算します。
$TimeStart = DateTime::createFromFormat( 'g:i A', $start_time );
$TimeEnd = DateTime::createFromFormat( 'g:i A', $end_time );
$Interval = $TimeStart->diff( $TimeEnd );
$time_left = $Interval->h . 'h' . $Interval->m 'm';
<?php
$d1 = strtotime('1:30 PM');
$d2 = strtotime('8:20 AM');
$diff = abs($d1-$d2);
echo "Difference is $diff secs";
?>
date()およびstrtotime()関数を見たいと思うでしょう。
このような場合に対処する方法は、日付をUNIX タイムスタンプに変換し、あるタイムスタンプを別のタイムスタンプから減算し、結果のタイムスタンプから日付文字列を再作成することです。
注: time()関数は現在のシステム時刻を返します (-stamp)