在 PHP 上打印其他两个日期之间的日期



我正在尝试打印另外两个日期之间的日期。这是我的代码:

$begin = date("d/m/y");
$end = date("d/m/y", strtotime("+1 month"));
$i = 0;
while( strtotime($begin) <= strtotime($end) ){
    echo "$beginn";
    $i++;
    $begin = date("d/m/y", strtotime("+$i day") );
}

您可以在此处执行相同的代码:http://sandbox.onlinephpfunctions.com/code/34c4b721553038f585806798121941bee0c66086

出于某种原因,此代码仅打印 25/01/2017 和 31/01/2017

之间的日期,而不是 25/01/2017 和 25/02/2017。我不知道怎么了。有人可以帮助我吗?

strtotime()不支持

d/m/y格式的日期。它将这些日期视为m/d/y

若要修复代码,请在前两行中使用Y-m-d格式。

附带说明一下,我建议使用 DateTime 类来操作日期,而不是字符串和整数。在此处阅读更多内容: https://paulund.co.uk/datetime-php

<?php
error_reporting(-1);
ini_set('display_errors', true);
$begin = new DateTime();
$end = (new DateTime())->modify('+1 month');
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $date) {
    echo $date->format('d/m/y')."<br/>";
}

相关内容

  • 没有找到相关文章

最新更新