我有一个“事件”,需要安排在每个月的同一天.
假设你可以在5月1日的开始日期设置,你应该在7月1日6月1日之前收到下一个活动.问题出现在31日的开始日期(下一个可能是30或28,取决于月份) .
考虑到有几个月不同的天数(28,30,31)取决于月份本身和一年…什么是一个简单的方法来设置这个?
考虑以下(和有缺陷的)下一个功能:
$events = array() function nextmonth($date) { return $date+(60*60*24*30); } $curr = $start; while($curr < $end) { $events[ = $curr; $curr = nextmonth($curr); }
更新:
这将给你指定月份的天数:
echo date('t',$timestamp);
见:date()
老回答:
我不知道你正在考虑的算法,但我相信这将有助于您:
echo date('d-M-y',strtotime('next month'));