我试着用
PHP腾出时间.开始日期2017-01-29至2017-12-29.但那件事发生在2月我无法打印,因为这个月最多只有28天.如何打印仍然打印,但2月日期最多28日.
我的剧本:
date_default_timezone_set('UTC'); // Start date $date = '2017-01-29'; // End date $end_date = '2017-12-29'; while (strtotime($date) <= strtotime($end_date)) { echo "$date\n"; echo "<br>"; $date = date ("Y-m-d",strtotime("+1 month",strtotime($date))); }
输出:
使用DateTime类查找下个月的最后一天:
原文链接:https://www.f2er.com/php/137173.htmldate_default_timezone_set('UTC'); // Start date $date = '2017-01-29'; // End date $end_date = '2017-12-29'; while (strtotime($date) <= strtotime($end_date)) { echo "$date\n"; echo "<br>"; $d = new DateTime( $date ); $d->modify( 'last day of next month' ); $date = $d->format( 'Y-m-d' ); }
现在这可能不完全是您感兴趣的,因为您可能想要尝试不同的开始日期并且不会到下个月结束,或者您可能希望它在2月日期使用2/28,但是连续两个月回到29日.但这应该让你更接近你需要的逻辑.我认为使用DateTime将是你答案的一部分.