计算结束日期

时间:2010-08-01 23:23:58

标签: php datetime symfony1

我需要使用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可以验证的格式。

提前致谢。

1 个答案:

答案 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);
}