Добавление X недель к дате с использованием PHP 5.2 - PullRequest
5 голосов
/ 29 марта 2012

Мой пакет общего хостинга на 1and1 включает только PHP 5.2.17 - поэтому я не могу использовать объект DateTime.Очень раздражает!

У меня сейчас есть этот код

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

Но, очевидно, он не будет работать.

Как я могу сделать то же самое с кодом, который будет работать с PHP50,2?(Код добавляет X количество недель к определенной дате.)

Ответы [ 2 ]

12 голосов
/ 29 марта 2012

Просто получите метку времени с помощью 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');
4 голосов
/ 29 марта 2012

Вы можете использовать объект DateTime в PHP 5.2, это просто метод add , который был добавлен в PHP 5.3.Вы можете использовать метод модификации в PHP 5.2.

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

Обратите внимание, что это изменит объект, над которым вы выполняете операцию.Таким образом, $ eventDate также будет изменен.

...