我需要使用symfony来帮助计算结束日期。用户将选择开始日期,频率(例如,每7天,每14天,每月,每半年 - 每6个月等)以及出现次数。
示例:
Start date: 08/01/2010
Frequency: Every 7 days
Occurrences: 4
End Date = 08/29/2010
Start date: 08/01/2010
Frequency: Every Month
Occurrences: 3
End Date = 11/01/2010
一些注意事项 - 我们的服务器运行PHP 5.2.13和Symfony 1.1。我不需要使用symfony来调整日期,只要我能将其恢复为symfony可以验证的格式。
提前致谢。
答案 0 :(得分:4)
您可以使用strtotime
,例如
echo date("Y-m-d", strtotime("+1 month", strtotime("2010-08-06")));
给出2010-09-06
。
当然,您必须将“+1个月”乘以发生的次数,以便它变为例如7次“+ 7个月”。
或者(更简单但效率更低),您可以使用固定间隔(例如“+1个月”)并使用for
循环:
$end = $start = strtotime("2010-08-06");
for ($i = 1; $i <= $occurrences; $i++) {
$end = strtotime("+1 month", $end);
}