Carbon - 检查午夜后的时间

问题描述 投票:0回答:2

laravel
应用程序中我有两次:
start
end
我想检查开始或结束是否在午夜之后
00:00:00
,如果是,我将日期设置为第二天

编辑

例如:
开始=

22:00:00
和结束=
04:00:00
所以这里的结束时间是在
00:00:00
之后,应该设置为第二天

laravel time php-carbon
2个回答
0
投票

通常如果开始时间和结束时间是同一天,

$startTime
应该小于
$endTime
,对吧? 如果不是这样,那么
$endTime
他们一定发生在不同的日子

所以你可以写:

$startTime = \Carbon\Carbon::parse('22:00:00');
$endTime = \Carbon\Carbon::parse('04:00:00');

if($startTime->gt($endTime)) {
   // Here you go, add next day or do whatever you want to do      
}

如果

$startTime
$endTime
之间的差异超过 24 小时,则此方法不起作用,并且会给您不正确的结果。 (例如:
$startTime = '22:00:00'
$endTime = '23:00:00'
$endTime
在第二天。在这种情况下,您必须有日期,否则您无法确定它们是否在同一天发生)


-1
投票

使用

$carbon->gt()
.

if ($startDate->gt(Carbon::today()->startOfDay()) {
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.