datetime — php устанавливает свой часовой пояс на основе смещения по Гринвичу

У меня есть смещение по Гринвичу в секундах. я бы хотел set_default_time_zone() к этому смещению по Гринвичу. Что я имею в виду, что если у меня смещение по Гринвичу до 2 часов (7200 секунд), оно установит часовой пояс GMT + 2, если у меня есть 3 часа (10800 секунд), он установит часовой пояс по GMT + 3, как я могу это сделать ? set_default_time_zone() принимать только предварительно определенные строки часовых поясов.

0

Решение

Вы можете использовать смещения по Гринвичу, но вы должны использовать Etc префикс. Следующие работы:

date_default_timezone_set('Etc/GMT+5');

Но это не рекомендуется, не рекомендуется, смотрите здесь: http://php.net/manual/en/timezones.others.php

Кроме того, я лично рекомендовал бы не работать со смещениями, потому что при обработке даты / времени есть много подводных камней, где смещения по Гринвичу могут привести к плохим результатам (например, летнее время, первый день недели).

Обычно рекомендуется работать с UTC внутри и устанавливать местное время в соответствии с географическим часовым поясом вместо смещения по Гринвичу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]