在一个laravel应用程序中,我有一个时间范围(start和end),如果结束时间在00:00:00之后,那么它将被设置为下一天
laravel
start
end
00:00:00
编辑
例如:start = 22:00:00 and end = 04:00:00,所以这里的end hour在00:00:00之后,所以应该设置为下一天
22:00:00
04:00:00
6jygbczu1#
使用$carbon->gt()。
$carbon->gt()
if ($startDate->gt(Carbon::today()->startOfDay()) { ... }
r6l8ljro2#
通常如果开始时间和结束时间在同一天,$startTime应该小于$endTime,对吗?如果不是这样,那么$endTime它们一定发生在不同的日子你可以这样写:
$startTime
$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是在第二天。在这种情况下,你必须有日期存在,否则你不能确定他们是否在同一天发生)
$startTime = '22:00:00'
$endTime = '23:00:00'
2条答案
按热度按时间6jygbczu1#
使用
$carbon->gt()
。r6l8ljro2#
通常如果开始时间和结束时间在同一天,
$startTime
应该小于$endTime
,对吗?如果不是这样,那么$endTime
它们一定发生在不同的日子你可以这样写:
如果
$startTime
和$endTime
之间的差异超过24小时,这种方法将不起作用,并给出错误的结果。(例如:$startTime = '22:00:00'
和$endTime = '23:00:00'
,但$endTime
是在第二天。在这种情况下,你必须有日期存在,否则你不能确定他们是否在同一天发生)