我正在嘗試檢查特定的“開始時間”是否不晚于另一個“結束時間”
例如:
開始:09:00 和結束:11:00 可以
開始:10:00 和結束:08:00 不可??以
如果“結束時間”是午夜(00:00),那么沒關系,因為:
開始:08:00 和結束:00:00 可以
我設法完成了這個小功能,它可以按我的意愿作業:
<?php
function isTimeOk($start, $end) {
if (($start < $end) or $end == '00:00') {
return 'Ok';
}
return 'Not ok';
}
echo isTimeOk('09:00', '12:00');
?>
但是,我有兩個問題:
有沒有辦法讓這段代碼更優雅?
如何使它與 12 和 24 小時格式兼容?
謝謝你的幫助 !
uj5u.com熱心網友回復:
您可以使用時間戳或將時間轉換為 DateTime:
function isTimeOk(string $start, string $end): bool {
if ($end == '00:00') {
return true;
}
$start_date = DateTime::createFromFormat('H:i', $start);
$end_date = DateTime::createFromFormat('H:i', $end);
return $start_date < $end_date;
}
有關時間格式(包括 12/24 時鐘)的更多資訊,請訪問https://www.php.net/manual/en/datetime.createfromformat.php
uj5u.com熱心網友回復:
<?php
function isTimeOk($start, $end) {
$start = strtotime($start);
$end = strtotime($end);
if (($start < $end) or $end == strtotime('00:00')) {
return 'Ok';
}
return 'Not ok';
}
echo isTimeOk('09:00', '12:00');
?>
strtotime 應該作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/468407.html
上一篇:將json資料拉入php
下一篇:更改模型名稱Laravel
