我在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周数添加到特定日期。)
只需使用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');
您可以在PHP 5.2中使用DateTime对象,它只是在PHP 5.3中添加的add方法。您可以在PHP 5.2中使用修改方法。
$finishDate = $eventDate->modify('+'.$profile["Weeks"].' weeks');
请注意,这将修改对其执行操作的对象。因此$eventDate也将被更改。