如何显示两次之间的所有时间段
我有一个 Laravel 应用程序,我需要根据 15 分钟的间隔显示上午 9 点到凌晨 3 点之间的所有时间段。时间段不包含日期,只有时间格式,如(AM 和 PM)
回答
你碳 CarbonPeriod
use CarbonCarbonPeriod;
$period = new CarbonPeriod('03:00', '15 minutes', '14:00'); // for create use 24 hours format later change format
$slots = [];
foreach($period as $item){
array_push($slots,$item->format("h:i A"));
}
return $slots;
根据您的要求。你需要像这样使用
$today = today()->format('Y-m-d') . " 2:00 PM";
$tomorrow = today()->addDays('1')->format('Y-m-d') . " 3:00 AM";
$period = new CarbonPeriod(new Carbon($today), '15 minutes', new Carbon($tomorrow));
$slots = [];
foreach ($period as $item) {
array_push($slots, $item->format("h:i A"));
}
它重新运行
[
"02:00 PM",
"02:15 PM",
"02:30 PM",
"02:45 PM",
"03:00 PM",
"03:15 PM",
"03:30 PM",
"03:45 PM",
"04:00 PM",
"04:15 PM",
"04:30 PM",
"04:45 PM",
"05:00 PM",
"05:15 PM",
"05:30 PM",
"05:45 PM",
"06:00 PM",
"06:15 PM",
"06:30 PM",
"06:45 PM",
"07:00 PM",
"07:15 PM",
"07:30 PM",
"07:45 PM",
"08:00 PM",
"08:15 PM",
"08:30 PM",
"08:45 PM",
"09:00 PM",
"09:15 PM",
"09:30 PM",
"09:45 PM",
"10:00 PM",
"10:15 PM",
"10:30 PM",
"10:45 PM",
"11:00 PM",
"11:15 PM",
"11:30 PM",
"11:45 PM",
"12:00 AM",
"12:15 AM",
"12:30 AM",
"12:45 AM",
"01:00 AM",
"01:15 AM",
"01:30 AM",
"01:45 AM",
"02:00 AM",
"02:15 AM",
"02:30 AM",
"02:45 AM",
"03:00 AM"
]
参考链接https://carbon.nesbot.com/docs/#api-period