Получение текущей даты в миллисекундах (UTC) (без использования строк)

Ну, вы можете подумать, что этот вопрос уже задавали, но я думаю это не так. Во всех решениях, о которых я читал, использовалась техника "головоломки" (например, getUTCMonth() + getUTCMinutes + ... ). Но поскольку я хочу сравнить только прошедшие секунды между двумя датами UTC (!) Это неприменимо.

Как всем известно, вы можете получить текущую (не UTC) дату следующим образом:

var d = new Date();
var t_millis = d.getTime();

Но это НЕ то, что я хочу. Я хотел бы иметь текущую системную дату в формате UTC и в миллисекундах, чтобы вообще не возиться со строками. Насколько мне известно, переменная t_millisбудет содержать миллисекундное значение текущей метки времени по Гринвичу, а не по Гринвичу. (Поскольку dтакже находится в GMT. Если толькоgetTime() не выполняет своего рода неявное преобразование часового пояса, то есть добавляет смещение ПЕРЕД , выдавая миллисекунды, но я никогда нигде об этом не читал)

Так неужели нет другого способа, кроме как добавить смещение к значению времени? Мне отчаянно не хватает функции вроде getUTCTimeMillis(), известной из других языков.

16
задан Alexander Abakumov 27 August 2018 в 14:27
поделиться