【发布时间】:2019-10-17 13:36:01
【问题描述】:
说明:
我需要获取从当前日期到接下来 5 天的日期。 并且需要自定义当前时间,并做一些限制
开始日期:
2019-06-01
结束日期:
2019-06-05
每日时间段:
08~10 10~12 12~14 14~16 16~18 18~20
示例 1:
如果当前时间在 2019-06-01 00:00 - 10:00 范围内
结果:
array:2 [▼
0 => [
'date' => '2019-06-01',
"weekstr":"Saturday",
"subdate":"06-01"
'timelist' => [
[
'period' => '08 ~ 10',
'starthour' => '08',
'endhour' => '10',
'expired' => false
]
[
'period' => '10 ~ 12',
'starthour' => '10',
'endhour' => '12',
'expired' => false
]
]
]
1 => [
'date' => '2019-06-02',
"weekstr":"Saturday",
"subdate":"06-01"
'timelist' => [
[
'period' => '08 ~ 10',
'starthour' => '08',
'endhour' => '10',
'expire' => false
]
[
'period' => '10 ~ 12',
'starthour' => '10',
'endhour' => '12',
'expire' => false
]
]
]
]
示例 2:
如果当前时间在2019-06-01 10:00 - 11:00范围内
结果:
array:2 [▼
0 => [
'date' => '2019-06-01',
"weekstr":"Saturday",
"subdate":"06-01"
'timelist' => [
[
'period' => '08 ~ 10',
'starthour' => '08',
'endhour' => '10',
'expire' => true //Has passed 08:00 - 10:00 has expired, displayed as true
]
[
'period' => '10 ~ 12',
'starthour' => '10',
'endhour' => '12',
'expire' => false
]
]
]
1 => [
'date' => '2019-06-02',
"weekstr":"Saturday",
"subdate":"06-01"
'timelist' => [
[
'period' => '08 ~ 10',
'starthour' => '08',
'endhour' => '10',
'expired' => false
]
[
'period' => '10 ~ 12',
'starthour' => '10',
'endhour' => '12',
'expired' => false
]
]
]
]
总结:要实现这个功能,目前还没有好主意。想寻求帮助,给我一些思路和方法,或者我可以给出一些示例代码供我参考。谢谢。
最新情况
- 根据Fabián Montero Rodríguez给出的提示,我已经实现了日期处理,但是没有好办法处理时间段。
代码:
$start_date = Carbon::now();
$end_date = Carbon::now()->addDays(2);
$date_periods = CarbonPeriod::create($start_date, $end_date);
$dates = [];
foreach ($date_periods as $key => $date){
$dates[$key]['date'] = $date->format('Y-m-d');
$dates[$key]['week'] = $date->localeDayOfWeek;
$dates[$key]['subdate'] = $date->format('m-d');
}
dd($dates);
结果:
array:3 [▼
0 => array:3 [▼
"date" => "2019-05-31"
"week" => "Friday"
"subdate" => "05-31"
]
1 => array:3 [▼
"date" => "2019-06-01"
"week" => "Saturday"
"subdate" => "06-01"
]
2 => array:3 [▼
"date" => "2019-06-02"
"week" => "Sunday"
"subdate" => "06-02"
]
]
当前问题
日期范围已经想好了,但是每个日期时间列表中的时间范围还是没有好办法处理,请求帮助我
【问题讨论】:
-
所以您正在尝试创建一个带时间的日期范围
-
@Manojkiran.A 是的,有两个部分,日期范围和时间范围。你能帮帮我吗?
-
检查答案并告诉我是否需要更改
标签: php laravel php-carbon