Метка времени UNIX всегда в GMT?

метка времени UNIX всегда в GMT?

Я попытался запустить php function time ()

и когда я попытался преобразовать временную метку unix из функции time (), вывод не похож на компьютерное время.

Спасибо

5 ответов


да, метка времени UNIX представляет, сколько секунд прошло от эпохи unix-времени в GMT+0


метка времени UNIX (эпоха A. K. A. Unix) означает секунды, прошедшие с 1 января 1970 00:00: 00 UTC (универсальное время). Таким образом, если вам нужно время в определенном часовом поясе, вы должны преобразовать его.

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


да time предполагается вернуть UTC. Если вы хотите, чтобы это было преобразовано в местное время, вам нужна такая функция, как,... дай-ка подумать ..- да, именно так,localtime : -)

это даст вам более полезную форму с отдельными полями.

следуйте этим ссылкам выше для документа PHP на каждом. Не уверен, что PHP имеет gmtime эквивалентны.


и, в стороне, будьте очень осторожны при поиске в интернете для time manpage с man time - вы не можете получить то, что вы ожидаете. Вы конечно не получит то, что вы ожидаете, если вы ищете manpage для : man man.

то есть, если вы не ищете разные вещи, чем я был : -)


технически, нет.

хотя эпоха время - это средства, прошедшие секунды с 1/1/70 00:00:00 на реальный " GMT " (UTC) нет.

UTC время необходимо было изменить несколько раз, чтобы учесть замедление скорости вращения Земли.

Как все писали, большинство людей используют epoch в UTC.

вы можете прочитать больше в https://en.wikipedia.org/wiki/Unix_time.


Проверьте возвращаемое значение date_default_timezone_get () чтобы увидеть, что часовой пояс по умолчанию. В ссылке также перечислены способы изменения значения, предпочтительным из которых является установка даты.часовой пояс в PHP.ini.