我试着用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)));
}
Run Code Online (Sandbox Code Playgroud)
输出:
使用DateTime类查找下个月的最后一天:
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>";
$d = new DateTime( $date );
$d->modify( 'last day of next month' );
$date = $d->format( 'Y-m-d' );
}
Run Code Online (Sandbox Code Playgroud)
现在这可能不完全是您感兴趣的,因为您可能想要尝试不同的开始日期并且不要到下个月结束,或者您可能希望它在2月日期使用2/28,但是连续两个月回到29日.但这应该让你更接近你需要的逻辑.我认为使用DateTime将是你答案的一部分.
| 归档时间: |
|
| 查看次数: |
6594 次 |
| 最近记录: |