时间令人困惑......如何计算PHP中从PM到AM的时间?
例如22:00:00 (10pm),02:00:00 (02am)应该给予04 hours过去.而是我的代码返回-08 hours
function hours_elapsed()
{
$timestart = strtotime("22:00:00");
$timestop = strtotime("02:00:00");
$time_diff = $timestop - $timestart; //time difference
return gmdate("h", $total_hours);
}
Run Code Online (Sandbox Code Playgroud)
很明显,代码以24小时格式计算,所以它当然会返回-08但是如何在没有24小时约束的情况下获得时间...当它通过午夜标记时?
-8小时是4几小时.12如果数字是负数,只需添加:
$time_diff = $timestop - $timestart; //time difference
if ($time_diff < 0) {
$time_diff += 12;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您的日期相隔超过一天,这对您没有帮助.您还需要指定日期(如当月的日期),以告诉PHP这些时间是不同的.