5

我在 1and1 的共享主机包仅包含 PHP 5.2.17——所以我不能使用该DateTime对象。很烦人!

我目前有这个代码

$eventDate = new DateTime('2013-03-16'); // START DATE
$finishDate = $eventDate->add(new DateInterval('P'.$profile["Weeks"].'W'));

但显然这行不通。

我怎样才能对适用于 PHP5.2 的代码做同样的事情?(代码将 X 周数添加到特定日期。)

4

2 回答 2

12

只需使用strtotime()获取时间戳并添加一周的 x * 秒

$newTime = strtotime('2013-03-16') + ($numberOfWeeks * 60 * 60 * 24 * 7); // 604800 seconds

或者我刚刚发现的:

$newTime = strtotime('+'.$numberOfWeeks.' weeks', strtotime('2013-03-16'));

或者,您可以使用该DateTime课程。使用 方法modify更改您的日期(如 中strtotime):

$d = new DateTime('2013-03-16');
$d->modify('+'.$numberOfWeeks.' weeks');
于 2012-03-29T14:21:30.857 回答
4

您可以在 PHP 5.2 中使用 DateTime 对象,它只是 PHP 5.3 中添加的add方法。您可以使用PHP 5.2 中的 modify 方法

$finishDate = $eventDate->modify('+'.$profile["Weeks"].' weeks');

请注意,这将修改您对其执行操作的对象。所以 $eventDate 也会被改变。

于 2012-03-29T14:47:17.587 回答