我有一个“事件”,需要安排在每个月的同一天.
假设你可以在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'));