【发布时间】:2017-09-25 07:14:56
【问题描述】:
我有一个开始和结束的 DateTime 对象,并希望遍历它们以获得每天的开始和结束数组。为了迭代它,我编写了这个函数:
public function getDatesBetweenTwoDates($start = null, $end = null)
{
return iterator_to_array(new \DatePeriod($start, new \DateInterval('P1D'), $end));
}
但是,这个函数返回一个这样的数组并且不支持时间:
['2017-10-01', '2017-10-02', ...]
我需要的是这样的:
输入:
$start = new DateTime("2017-10-01 10:00:00");
$end = new DateTime("2017-10-03 19:00:00");
输出:
[
[
'start' => '2017-10-01 10:00:00',
'end' => '2017-10-01 23:59:59'
],
[
'start' => '2017-10-02 00:00:00',
'end' => '2017-10-02 23:59:59'
],
[
'start' => '2017-10-03 00:00:00',
'end' => '2017-10-03 19:00:00'
],
]
任何提示或帮助将不胜感激。
【问题讨论】: