0

我发现使用 PHP 计算时差很困难。如何计算HH:MM:SS两个不同日期之间格式(小时:分钟:秒)的时间差?

例如,输入是:

$start_time : 19:30  
$end_time : 7:30,  
$当前时间 = 21:30  

我必须找出当前时间与给定的开始时间和结束时间匹配。

4

2 回答 2

1

将时间转换为时间戳值,它是以秒为单位的整数值。然后,您可以轻松地减去它们以获得以秒为单位的差异。之后,将其转换回小时和分钟非常简单。

于 2012-12-05T10:48:00.783 回答
1
$iStart = strtotime( '00:00:00' );
$iEnd = strtotime( '12:00:00' );

$iCurrent = strtotime( date('H:i:s') );

if( $iCurrent > $iStart && $iCurrent < $iEnd ) {
  echo "active!";
} else {
 echo "not active";
}

这只会尊重时间(它将每天激活一次)。如果您需要特定日期,您可以使用:

$iStart = strtotime( '2012-12-01 00:00:00' );
$iEnd = strtotime( '2012-12-31 12:00:00' );

$iCurrent = time();

if( $iCurrent > $iStart && $iCurrent < $iEnd ) {
  echo "active!";
} else {
 echo "not active";
}
于 2012-12-05T10:54:46.103 回答