【问题标题】:How do I iterate between two dates in php? [duplicate]如何在php中的两个日期之间进行迭代? [复制]
【发布时间】:2021-10-23 03:59:02
【问题描述】:

我想在php 中的两个日期之间进行迭代。这是我的代码:

for($y=date("01/01/2017");$y<=date("01/06/2017");$y++){
    echo $y . "<br>";
}

预期输出:

01/01/2017
02/01/2017
03/01/2017
04/01/2017
05/01/2017
06/01/2017...... like this till 01/06/2017

实际输出:

01/01/2017
01/01/2018
01/01/2019
01/01/2020
01/01/2021
01/01/2022....

我如何获得正确的日期?

编辑:日期应为 dd/mm/yyyy 格式

【问题讨论】:

标签: php


【解决方案1】:

这对你有用吗?

$date = DateTime::createFromFormat("d-m-Y", '01-01-2017');
$endDate = DateTime::createFromFormat("d-m-Y", '01-06-2017');

while ($date <= $endDate) {
    echo $date->format("d/m/Y") . "\n";
    $date->modify('+1 day');
}

我在http://sandbox.onlinephpfunctions.com/code/461ae543a882cf8d5e933a4ddc27e8e907f74e01对此进行了测试

【讨论】:

  • 这不会返回 OP 的“预期输出”而是“实际输出”。可能想将+ 1 year 更改为+ 1 day
  • 看起来怎么样?
猜你喜欢
  • 1970-01-01
  • 2012-05-12
  • 2010-12-27
  • 1970-01-01
  • 2021-07-06
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多