Подтвердить что ты не робот

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

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

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

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

Спасибо

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

Это даст вам более удобную форму с разбивкой отдельных полей.

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


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

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

Ответ 4

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

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

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

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

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

Ответ 5

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