我需要帮助以下列格式获取前几个月的完整日期范围:Y-m-d
我已成功获得“此”月份的完整日期范围,但未达到“之前”月份的完整日期范围。
非常感谢任何帮助!
答案 0 :(得分:10)
答案 1 :(得分:7)
$last_month_first_day=strtotime('first day of last month');
$no_of_days=date('t',$last_month_first_day);
$date_value=$last_month_first_day;
for($i=0;$i<$no_of_days;$i++)
{
echo date('Y-m-d',$date_value)."<br>";
$date_value=strtotime("+1 day",$date_value);
}
此代码将打印您想要的内容..
第一次约会:
echo date('Y-m-d',strtotime('first day of last month'));
上次日期:
echo date('Y-m-d',strtotime('last day of last month'));
答案 2 :(得分:2)
你可以这样做:
$month = 2;
$lastday = mktime(0, 0, 0, $month+1, 0, 2012);
$firstday = mktime(0, 0, 0, $month, 1, 2012);
$end = date("Y-m-d", $lastday);
$start = date("Y-m-d", $firstday);
任何给定月份的最后一天可以表示为下个月的“0”日 http://www.php.net/manual/en/function.mktime.php
答案 3 :(得分:0)
// works with PHP 5.3 or later
$today = new DateTime();
$thisMonthFirstDay = $today->setDate($today->format('Y'), $today->format('m'), 1);
$previousMonthLastDay = $thisMonthFirstDay->sub(new DateInterval('P1D')); // substract 1 day
$daysInLastMonth = $previousMonthLastDay->format('d');
for($i=1; $i<=$daysInLastMonth; $i++) {
$num = ($i < 10) ?'0'.$i :$i; // add zero in front if < 10
echo $previousMonthLastDay->format('Y-m-') . $num. "\n";
}