我只得到一个日期和两次(24 小时制)。
有没有一种优雅的方法来确定第二次是否进入第二天?
伪代码:
$inputDate1 = "2020-12-27"
$inputHour1 = "21:00";
$inputHour2 = "00:10";
$calulatedDate2 = ???
$dateTime1 = $inputDate . " " . $inputHour1;
$dateTime2 = $calulatedDate2 . " " . $inputHour1;
其他示例:
08:00 和 12:00 将是同一日期。
08:00 和 07:59 将是下一个日期。
答案 0 :(得分:2)
检查时间是否小于input1。
$inputDate1 = "2020-12-27";
$inputHour1 = "21:00";
$inputHour2 = "00:10";
if(strtotime($inputHour2) < strtotime($inputHour1)){
$calulatedDate2 = date('Y-m-d', strtotime($inputDate1)+86400);
}else{
$calulatedDate2 = $inputDate1;
}
$dateTime1 = $inputDate1 . " " . $inputHour1;
$dateTime2 = $calulatedDate2 . " " . $inputHour2;
Var_dump($dateTime1, $dateTime2);
答案 1 :(得分:1)
我找到了一种方法。随意发布更优雅的解决方案。
$inputDate1 = "2020-12-27"
$inputHour1 = "21:00";
$inputHour2 = "00:10";
$inputDate2 = $inputDate1 //just assume for now
$dateTime1 = $inputDate1 . " " . $inputHour1;
$dateTime2 = $inputDate2 . " " . $inputHour1;
if (strtotime($dateTime2) < strtotime($dateTime1)) {
$dateTime2 = (DateTime::createFromFormat('Y-m-d H:i', $dateTime2))->modify('+1 day')->format('Y-m-d H:i');
}