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


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

Я попытался запустить php-функцию time()

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

Спасибо

Author: bbnn, 2010-05-18

5 answers

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

 42
Author: zerkms, 2016-08-16 06:15:07

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

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

 7
Author: Pablo Santa Cruz, 2010-05-18 01:10:58

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

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

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


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

То есть, если только вы не ищете другие вещи, чем я:-)

 6
Author: paxdiablo, 2010-05-18 01:27:31

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

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

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

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

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

 2
Author: yonatanh, 2017-09-03 08:25:49

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

 0
Author: ScottR, 2010-09-16 18:12:26