PHP:在H:i中直接比较两次,并确定新时间是否在00:00之前

时间:2015-08-22 13:54:32

标签: php datetime strtotime

我目前有这种格式的开始和结束时间' 00:00'例如H:我。我目前正在尝试删除4个小时,然后确定新时间是否是前一天,例如在00:00之前。

一个例子:

$oldStart =  '00:00';
$oldStart = date("H:i", strtotime($oldStart));
$oldEnd = '00:30';
$oldEnd = date("H:i", strtotime($oldEnd));
$newStart = date("H:i", strtotime('-4 hours', $oldStart));
$newEnd = date("H:i", strtotime('-4 hours', $oldEnd));
$dayStart = date("H:i", strtotime('00:00'));
if($newStart < $dayStart) {
    echo 'day before<br>';
} else {
    echo 'current day<br>';
}

我希望这可以在前一天回复&#39;因为现在时间已经落后4个小时,但它正在回响当前的一天#39;我无法看到我出错的地方......

1 个答案:

答案 0 :(得分:0)

请使用:

$old = "4:00";
$dt = new DateTime($old);
$dt->modify("-4 hours");
$new = $dt->format("Y-m-d");
if(date("Y-m-d", strtotime($old)) > $new){
    echo "Day before";
} else {
    echo "Same day";
}