PHP:直接比较H:i中的两个时间,判断新的时间是否在00:00之前
PHP: Directly compare two times in H:i and determine if the new time is before 00:00
我目前有一个开始和结束时间,格式为“00:00”,例如H:i。我目前正在尝试从时间中删除 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>';
}
我希望这会回显 'day before',因为现在时间晚了 4 小时,但它正在回显 'current day'。我看不出哪里错了...
就用这个:
$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";
}
我目前有一个开始和结束时间,格式为“00:00”,例如H:i。我目前正在尝试从时间中删除 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>';
}
我希望这会回显 'day before',因为现在时间晚了 4 小时,但它正在回显 'current day'。我看不出哪里错了...
就用这个:
$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";
}