0

こんにちは、strtotime 関数を使用して時間:分:秒形式で時間を比較しようとしていますが、時間数が 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 に答える