strtotime (-5 часов) не работает?

Я думал, что strtotime() преобразует «строку» в метку времени. Если я добавляю ко времени, он работает нормально, но если я пытаюсь вычесть, это не так. Кто-нибудь знает обходной путь?

Заранее спасибо.


person Raphael Caixeta    schedule 17.08.2010    source источник
comment
Не относится к PHP5, пожалуйста, укажите правильный тег. php.net/manual/en/function.strtotime.php   -  person TheLQ    schedule 18.08.2010
comment
Как это не работает? var_dump(strtotime("-5 hours")) выводит для меня правильное, неложное значение.   -  person Daniel Vandersluis    schedule 18.08.2010
comment
Вы пытались -05:00, чтобы он знал свои часы вместо часов   -  person DevelopingChris    schedule 18.08.2010
comment
Эти «умные кавычки» вокруг строки могут все испортить. Вы уверены, что скопировали и вставили именно то, что написано в вашем коде? Могли ли вы ввести какой-то специальный символ, который выглядит как знак минуса, но на самом деле таковым не является?   -  person Mark Byers    schedule 18.08.2010
comment
@DevelopingChris - Не обязательно, strtotime может анализировать часы.   -  person Stephen    schedule 18.08.2010


Ответы (2)


Я рекомендую прочитать отличное руководство Дерика Ретанса по дате и времени, http://derickrethans.nl/talks/time-zendcon9.pdf, пояснительные слайды начинаются со слайда 16.

Он является автором функций даты и времени в PHP и рекомендует по возможности использовать классы DateTime.

person asnyder    schedule 18.08.2010

У меня вроде нормально работает...

echo strtotime("-5 hours");

Результат:

1282061972
person Mark Byers    schedule 17.08.2010
comment
То же. (Ты подтолкнул меня на это...) - person Stephen; 18.08.2010