问题描述
我正在尝试使用与给定间隔对应的日期构建一个数组。
问题是我需要遵守一个约定,即一天介于 00:00:00
和 23:59:59
之间。
到目前为止我写了这段代码:
$start = new DateTime('2020-01-01');
$end = new DateTime('2020-01-03');
$interval = new DateInterval('P1D');
$result = [];
if ($start->getTimestamp() < $end->getTimestamp()) {
$period = new DatePeriod(
$start->setTime(0,0),$interval,$end->setTime(23,59,59)
);
foreach ($period as $date) {
array_push($result,$date->format("Y-m-d H:i:s"));
}
}
输出如下:
Array
(
[0] => 2020-01-01 00:00:00
[1] => 2020-01-02 00:00:00
[2] => 2020-01-03 00:00:00
)
但是想要的输出是这个:
Array
(
[0] => 2020-01-01 00:00:00
[1] => 2020-01-01 23:59:59
[2] => 2020-01-02 00:00:00
[3] => 2020-01-02 23:59:59
[4] => 2020-01-03 00:00:00
[5] => 2020-01-03 23:59:59
)
是否有可能通过利用 DatePeriod
和 DateInterval
来实现这个结果,或者我应该向 $result
数组推送两次,第一次使用 00:00:00
日期和第二次与23:59:59
?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)