Значение, возвращаемое методом getTime
, равно количеству миллисекунд, прошедших с полуночи 1 января 1970 года GMT. Этот метод можно использовать для присвоения значения другому объекту Date
.
Этот метод функционально эквивалентен методу valueOf
.
Пример: Копируем значение
// Копируем значение theBigDay в sameAsBigDay:
theBigDay = new Date("July 1, 1999")
sameAsBigDay = new Date()
sameAsBigDay.setTime(theBigDay.getTime())
Тут говорят, что getTime() всегда отдаёт миллисекунды в таймзоне UTC.
Да, так и есть. UTC, оно же GMT.
UTC!=GMT
UTC===GMT
UTC != GMT!!!!!!!!!!!
Учитывая, что отсчитываются миллисекунды, вряд ли используется именно GMT. И да, в миллисекундах разница между GMT и UTC будет хорошо заметна.
Можно не использовать getTime() в разности, например код будет работать:
А не 4-х ли часов ночи?
равно количеству миллисекунд, прошедших с полуночи 1 января
С полуночи UTC = c 4-х часов ночи по летнему московскому времени.
UTC - это GMT без перевода часов.
UTC != GMT
getTime() это GMT
если нужен UTC то так
Точнее getTime() это преобразование GMT в UTC
а если нужно отобразить время в UTC то
var utc = d.getTime() + (d.getTimezoneOffset() * 60000); - это может пригодится для отображения юзеру времени в другом часовом поясе например +7
var gmt7 = utc + (7*60000)
У вас ошибка -
var gmt7 = utc + (7*60000) - неверно
var gmt7 = utc + (7*3600000) - верно
Так как таймстэймп в яваскрипте в миллисекундах, а смещение GMT в часах.
Смещение в минутах
Если миллисекунды(дробные части секунды) не важны, то UTC действительно эквивалентно GMT. UTC - более современная версия среднего времени по Гринвичу.
C ума посходили
GMT -Гринвич.Англия
UCT - среднее тихоокеанское.США
разницы 6 часов
Не путайтесь и не путайте других.
1) не UCT, а UTC
2) стандартное тихоокеанское - PST
3) "UTC является современной версией cреднего времени по Гринвичу, то есть среднего солнечного времени на Гринвичском меридиане"
4) "В повседневной жизни, когда дробная часть секунд не важна, среднее время по Гринвичу (GMT) может рассматриваться как эквивалент UTC"
GMT -- это "старое" всемирное время, на основе средних солнечных суток, усреднение солнечного времени в Гринвичской обсерватории, как, собственно,
указывает название Greenwich Mean Time. Оно продолжает вестись, как основа для астрономических наблюдений, но уступило статус первичного эталона времени "атомным" часам на основе частот спектральных линий. Но так как мы привыкли жить по солнышку , "атомное" время координируется с GMT таким образом, чтобы разница не превышала секунды, отсюда и название UTC -- Universal Time Coordinated. Вращение Земли замедляется, "солнечный" полдень начинает опаздывать по отношению к "атомному", и тогда для коррекции под Новый Год вводят дополнительную секунду -- "Leap Second". Все нынешние ОС ведут время только в UTC, даже если где-либо по старинке упоминается GMT -- не верьте . Для перевода внутреннего формата счетчика секунд в год/месяц/число/минуты/секунды даже в том же UTC необходимо учитывать историю нерегулярно вводимых leap seconds.
Функция возвращает значение с учетом текущей локали (смещения времени)!
Если нужно получить значение в UTC, то нужно воспользоваться методом Date.UTC()
Roksa dojrzale
Roksa sucha beskidzka
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.