gpt4 book ai didi

php DatePeriod 没有按预期返回 2 天

转载 作者:行者123 更新时间:2023-12-04 00:33:01 25 4
gpt4 key购买 nike

我尝试获取一段时间内的所有天数。是一整天还是几个小时都没关系。我当前使用 DatePeriod 的代码对我不起作用。

例子:

[start] => DateTime Object
(
[date] => 2014-01-27 22:40:40
[timezone_type] => 1
[timezone] => +00:00
)

[end] => DateTime Object
(
[date] => 2014-01-28 17:40:40
[timezone_type] => 1
[timezone] => +00:00
)

$interval = new DateInterval('P1D'); // 1Day Interval
$daterange = new DatePeriod($time['start'], $interval ,$time['end']);

$return['days'] = array();

foreach($daterange as $date){
$return['days'][] = $date->format("Y-m-d");
}

我想得到

[0] => 2014-01-27
[1] => 2014-01-28

但我只得到

[0] => 2014-01-27

是否可以更改 DatePeriod 参数或其他内容?

最佳答案

DatePeriod 对象忽略最后一个时间段。您可以通过按间隔增加结束日期来解决此问题:

$interval = new DateInterval('P1D');
$start->setTime(0, 0);
$end->setTime(0, 0)->add($interval);
$periods = new DatePeriod($start, $interval, $end);

demo

更新:如果您只循环天数,则删除(设置为 00:00:00)开始日期和结束日期的时间部分。

关于php DatePeriod 没有按预期返回 2 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21282322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com