Php 列出两个定义日期之间的所有日期

Php 列出两个定义日期之间的所有日期,php,Php,我试着列出两个预定义日期之间的所有天数,当我在服务器上测试时,我有如下输出,正如您所看到的,28.10是两次,但当我在phpter上测试时,返回正常输出。这里有什么问题?我哪里出错了 $from = strtotime('2018-10-25'); $to = strtotime('2018-10-30'); for ($i=$from; $i<=$to; $i+=86400) { $list[] = date('Y-m-d', $i); } echo '

我试着列出两个预定义日期之间的所有天数,当我在服务器上测试时,我有如下输出,正如您所看到的,28.10是两次,但当我在phpter上测试时,返回正常输出。这里有什么问题?我哪里出错了

$from = strtotime('2018-10-25');
$to = strtotime('2018-10-30');
for ($i=$from; $i<=$to; $i+=86400)
    {
         $list[] = date('Y-m-d', $i);
    }
echo '<pre>';
print_r($list);
echo '</pre>';

我怀疑你快到夏时制的尽头了,时间会倒退一个小时。因此,在这一天增加24小时的时间,你就可以在同一天工作

最好按天调整时间,例如使用
DateTime
类:

Array
(
    [0] => 2018-10-25
    [1] => 2018-10-26
    [2] => 2018-10-27
    [3] => 2018-10-28
    [4] => 2018-10-29
)

你被困住了,因为28日时间变了。。。那天是86400+3600-也许你想把$i+=。。。其中$i=strottime(日期('Y-m-d',$i)。“+1天”)
$start = new DateTime('2018-10-25');
$end = new DateTime('2018-10-29');
while ($start <= $end) {
    $list[] = $start->format('Y-m-d');
    $start->modify('+1 day');
}
print_r($list);
Array
(
    [0] => 2018-10-25
    [1] => 2018-10-26
    [2] => 2018-10-27
    [3] => 2018-10-28
    [4] => 2018-10-29
)