0

您好,我正在尝试使用 strtotime 函数将时间与 Hours:Minutes:Seconds 格式进行比较,但如果 Hours 超过 24 则会出现问题

PHP代码:

$time_duration_1 = '102:44:18';
$time_duration_2 = '87:42:19';

if(strtotime($time_duration_1) > strtotime($time_duration_2))
{
   return true;
}else{
   return false;
}

这种情况有什么方便的功能吗?还是我应该手动硬编码检查?

提前致谢

4

2 回答 2

1

做一个函数来计算你的小时、分钟和秒:

function formatHours($time){
    $date = explode(':', $time);
    return ($date[0]*60*60)+($date[1]*60)+$date[2];
}

if(formatHours($time_duration_1) > formatHours($time_duration_2)){
// ......
于 2012-10-03T12:29:18.427 回答
1

我解决这个问题的方法是mktime

function getTimeFromString($time){
    $time = explode(':', $time);
    return mktime($time[0], $time[1], $time[2]);
}

if(getTimeFromString($time_duration_1) > getTimeFromString($time_duration_2)){
于 2012-10-03T12:31:55.337 回答