首页 > 解决方案 > 如何在php中循环当前月份的第一天和最后一天?

问题描述

我正在回答这个问题 ,以便在 php.ini 中循环浏览当前月份的第一天和最后一天。

我从上述问题的答案中复制粘贴了相同的代码,但它似乎没有返回任何内容(空白)。

<?php 
    $current_month_first_day = date('Y-m-01'); // first day of the current month
    $current_month_last_day  = date('m-t-Y');  // last day of the current month
    $interval = DateInterval::createFromDateString('1 day');
    $period = new DatePeriod($current_month_first_day, $interval, $current_month_last_day);
?>  

问题陈述:

我想知道我应该在上面的 php 代码中进行哪些更改,以便它显示当月(2 月 1 日至 2 月 29 日)的日期列表。我的代码将以输入格式显示日期。

标签: phpdate

解决方案


您没有DatePeriod正确生成构造函数的输入。第一个输入需要是一个DateTime对象,第三个输入需要一个整数(或另一个DateTime对象)。利用构造函数的第一种形式(第三个参数是一个表示重复次数的整数),您可以将代码更改为此使其工作:

$current_month_first_day = new DateTime('first day of this month'); // first day of the current month
$current_month_last_day  = date('t');  // last day of the current month
$interval = new DateInterval('P1D');
$period = new DatePeriod($current_month_first_day, $interval, $current_month_last_day - 1);

3v4l.org 上的演示


推荐阅读