PHP strtotime работает на моем локальном компьютере, но не работает на сервере - PullRequest
1 голос
/ 17 февраля 2012
var_dump(strtotime("2012-W07 Monday")); 

возвращает int 1329170400 на моем локальном компьютере (PHP версии 5.3.4), но на сервере (PHP версии 5.1.6) возвращается

bool (false)

Некоторые другие форматы, такие как «сегодня», «сейчас» и т. Д., Работают правильно с обеих сторон.Это из-за версий php или что еще может быть не так?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

Вы можете использовать формат 'YYYY-MM-DD' с strtotime (), и этот формат должен работать во всех версиях.

Для наиболее стабильного поведения я рекомендую передавать в strtotime только широко используемые форматы даты и времени,Имейте в виду, что strtotime () ожидает, что дата, разделенная '/', будет в формате 'MM/DD/YYYY', что является американским порядком дат.Европа использует другой ордер, разделенный '/'.

0 голосов
/ 17 февраля 2012

Я ожидаю, что это будет связано с незначительным улучшением функции или исправленной ошибкой. Не все обновления / исправления вносятся в документы PHP.

Я бы проверил его для вас, но не установил ниже 5.3.1.

Я думаю, что вам лучше всего было бы где-нибудь взять PHP 5.1.6 по умолчанию и протестировать на локальном компьютере или другом сервере. Могу поспорить, что и там не получится.

...