使用php计算时差?

时间:2012-12-05 10:45:27

标签: php

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

例如,输入为:

$start_time : 19:30  
$end_time : 7:30,  
$currenttime = 21:30  

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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";
}