2009-10-23 3 views
30

У меня есть календарь, построенный на JavaScript, который сравнивает даты с PHP. Объект date JavaScript задается с помощью PHP, но, когда я сравниваю будущие даты, они выглядят не синхронизированными.GMT по отношению к датам UTC

PHP установлен на GMT и JavaScript установлен в UTC; как эти стандарты отличаются, и может ли это быть причиной проблемы?

+8

Для практических целей (и, конечно, во всех случаях, которые компьютер увидит), GMT - UTC. Ваша проблема с часовым поясом лежит в другом месте. Посмотрим на код. – bobince

ответ

31

Из Coordinated Universal Time в Википедии:

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

От Greenwich Mean Time в Википедии:

UTC является атомная шкала времени, которое только приблизительно GMT с допуском 0,9 второго

+17

Который, для почти любого приложения должен быть чем-то, что вы можете игнорировать. Исключения очень редки, и эти исключения вряд ли будут написаны на PHP в любом случае. – Joey

+0

Это должно быть UT1, а не GMT. – orome

+0

Еще более важно: «[UTC] является одним из нескольких близких преемников к среднему времени по Гринвичу (GMT). Для большинства целей UTC считается взаимозаменяемым с GMT, но GMT больше не определяется научным сообществом« –

29

Один измеряется от солнца, а другой из atomic clock ,

Для ваших целей они одинаковы.

0

Практическое различие заключается в том, что если система настроена на использование UTC, она не будет автоматически переключаться на летнее время, а если вы установите часовой пояс на GMT, тогда есть хорошая вероятность, что он автоматически переключится на BST в течение лета без вас.

+0

, если вы установите его в «GMT», он должен оставаться там. если вы установите его в «Лондон», он должен следовать гражданским правилам времени этого языкового перехода на BST летом – Jasen

+0

@ Jasen, насколько я знаю, Лондон не является часовым поясом, а локалью. Вы можете установить сервер в лондонский локаль, но сервер будет сообщать GMT как свой часовой пояс на полгода и BST для другой половины. Однако, если вы не зададите языковой стандарт, он будет сообщать только о UTC круглый год. Если вы используете Windows, тогда лондонская локализация смутно называется GMT или BST или чем-то неоднозначным по какой-то причине. Это всего лишь целая червь червей, которую вы действительно не хотите открывать. – apokryfos

+0

Полностью согласен WRT-окна. – Jasen

0

Для компьютеров, GMT - UTC + 0 - значит, они эквивалентны.

Смежные вопросы