Что это значит, когда вы получаете или создаете дату в формате UTC в JavaScript?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


getUTC предназначен для преобразования времени в универсальное скоординированное время (UTC, акроним упорядочен иначе, чем то, что он означает), которое является стандартным временем, основанным на времени в Гринвиче, Лондон.
Мировое время вычисляется с использованием смещения времени (в минутах в JavaScript). Это смещение основано на часовом поясе, настроенном в операционной системе клиентского браузера.
Если вы планируете хранить даты для пользователей в нескольких часовых поясах, вам следует использовать именно это.
Дата представляет собой определенный момент времени. Этот момент времени в разных местах будет называться по-разному. Когда я пишу это, сейчас 00:27 во вторник в Германии, 23:27 в понедельник в Великобритании и 18:27 в понедельник в Нью-Йорке.
Чтобы взять пример метода: getDay возвращает день недели в местном часовом поясе. Прямо сейчас для пользователя в Германии он вернет 2. Для пользователя в Великобритании или США он вернет 1. Через час он вернет 2 для пользователя в Великобритании (потому что тогда это будет 00. : 27 во вторник там).
Методы ..UTC .. работают с представлением времени в формате UTC (также известном как GMT). Зимой это тот же часовой пояс, что и в Великобритании, летом на час отстает от времени в Великобритании.
Сейчас лето, когда я пишу это. getUTCDay вернет 1 (понедельник), getUTCHours вернет 22, getUTCMinutes вернет 27. Итак, сейчас 22:27 в понедельник по часовому поясу UTC. В то время как простые функции get ... будут возвращать разные значения в зависимости от того, где находится пользователь, функции getUTC .. будут возвращать те же значения независимо от того, где находится пользователь.
В дополнение к замечанию Дэна о том, что аббревиатура отличается от того, что она обозначает, есть веская причина: Аббревиатура UTC в Википедии