strtotime('2018-09-20 16:49:54')
кидаю первый аргумент. Эта функция чутко реагирует на настройки сервера временной зоны. Читал мануал - не понял. Дата которую мы кинули воспринимается сервером как дата нулевого меридиана и к ней прибавляется местное время настроенное на сервере или дата воспринимается как местное время и отнимается это местное время чтобы получить время нулевого меридиана?
В ответе на одном сервере 1537487394 На другом 1537451394
дата воспринимается как местное время
Да, именно так.
Результат работы функции strtotime()
зависит от часового пояса, установленного в конфигурации PHP (директива date.timezone
). К примеру, если у вас стоит часовой пояс Europe/London
, то летом это будет UTC+01:00
. PHP определяет, что дата передана в этом часовом поясе и чтобы привести её к UTC
нужно вычесть 1 час. В итоге мы получаем unixtime равный 1537458594.
Если конвертировать эту метку времени в обычную дату в любом онлайн конвертере, то мы получим "2018-09-20 15:49:54", то есть на 1 час меньше того, что мы передавали в аргументе strtotime()
. А если вы вызовете на локальном сервере функцию date('Y-m-d H:i:s')
и подставите во второй аргумент полученный unixtime, то получите уже дату с учётом вашего локального часового пояса: "2018-09-20 16:49:54".
Также предположу, что на серверах установлены следующие часовые пояса:
UTC-07:00
,UTC+03:00
.Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно посмотреть какие данные приходят в phpВыполняется запрос при нажатии кнопки:
Сейчас на сайте статью обрывает […]Как можно увеличить количество слов до обрыва и поменять многоточие на надпись «читать далее»