У меня есть календарь, построенный на JavaScript, который сравнивает даты с PHP. Объект date JavaScript задается с помощью PHP, но, когда я сравниваю будущие даты, они выглядят не синхронизированными.
PHP установлен на GMT, а JavaScript – на UTC; как эти стандарты отличаются, и может ли это быть причиной проблемы?
Из скоординированного всеобщего времени в Википедии:
Скоординированное универсальное время (UTC) – это временной стандарт, основанный на Международном атомном времени (TAI) с секундомерами, добавляемыми с нерегулярными интервалами для компенсации замедления вращения Земли.
Среднее время по Гринвичу в Википедии:
UTC – это атомная шкала времени, которая только приближается к GMT с допуском 0,9 секунды
Один измеряется от солнца, а другой – от атомных часов .
Для ваших целей они одинаковы.
Практическая разница заключается в том, что если система настроена на использование UTC, она не будет автоматически переключаться на летнее время, а если вы установите часовой пояс на GMT, тогда есть хороший шанс, что он автоматически переключится на BST в течение лета, не заметив.
Для компьютеров GMT – UTC + 0 – поэтому они эквивалентны.