问题描述
我想检查当前时间是否在上午 8 点到晚上 8 点之间。到目前为止,我已经尝试过
$startTime = \Carbon\Carbon::createFromFormat('H:i a','08:00 AM')->toString();
$endTime = \Carbon\Carbon::createFromFormat('H:i a','08:00 PM')->toString();
$currentTime = \Carbon\Carbon::Now();
if($currentTime->greaterThan($startTime) && $currentTime->lessthan($endTime)){
dd('In Between');
}else{
dd('In Not Between');
}
但是因为碳日期是日期类型而其他时间是字符串类型我无法比较它们。
有什么帮助吗?
解决方法
$now = Carbon::now();
$start = Carbon::createFromFormat('H:i a','08:00 AM');
$end = Carbon::createFromFormat('H:i a','08:00 PM');
if ($now->isBetween($start,$end) {
// between 8:00 AM and 8:00 PM
} else {
// not between 8:00 AM and 8:00 PM
}
要确定当前实例是否在其他两个实例之间,您可以使用恰当命名的 between() 方法(或 isBetween() 别名)。第三个参数指示是否应该进行等于比较。默认为真,决定其是否在边界之间或等于边界。