getUTCMilliseconds() возвращает миллисекунды из объекта Date по UTC.
Если говорить просто, этот метод достаёт миллисекунды из даты и времени, например 0, 123, 500 или 999, но делает это не по локальному времени пользователя, а по всемирному времени UTC.
Синтаксис
Базовая запись выглядит так:
date.getUTCMilliseconds()
Где:
date- это объектDate
Аргументы этому методу не нужны.
Что возвращает getUTCMilliseconds()
Метод возвращает число от 0 до 999.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
console.log(typeof date.getUTCMilliseconds()); // "number"
Это важно:
0- начало секунды500- середина секунды999- последняя миллисекунда перед следующей секундой
Простой пример
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Здесь:
2025- год0- январь15- день месяца14- часы30- минуты45- секунды123- миллисекунды
Метод возвращает 123, потому что это миллисекунды в указанной дате по UTC.
Пример с началом и концом секунды
const start = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 0));
const end = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 999));
console.log(start.getUTCMilliseconds()); // 0
console.log(end.getUTCMilliseconds()); // 999
Так хорошо видно, что диапазон значений идёт от 0 до 999.
getUTCMilliseconds() не возвращает секунды
Это одна из самых частых ошибок.
getUTCMilliseconds() отвечает только за миллисекунды. Секунды, минуты и часы он не возвращает.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Чем getUTCMilliseconds() отличается от getUTCSeconds()
Эти методы легко перепутать.
getUTCMilliseconds()возвращает миллисекунды поUTCgetUTCSeconds()возвращает секунды поUTC
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
console.log(date.getUTCSeconds()); // 45
getUTCMilliseconds() не возвращает полный timestamp
Это очень важный момент.
getUTCMilliseconds() возвращает только часть времени внутри одной секунды, а не количество миллисекунд с 1 января 1970 года.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
console.log(date.getTime()); // полный timestamp
Если нужен полный timestamp, используют getTime() или Date.now().
getUTCMilliseconds() не меняет дату
Метод только читает значение миллисекунд.
Он не изменяет исходный объект Date.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
const milliseconds = date.getUTCMilliseconds();
console.log(milliseconds); // 123
console.log(date); // исходная дата остаётся той же
getUTCMilliseconds() работает именно по UTC
Это главный момент.
Метод getUTCMilliseconds() всегда смотрит на дату с точки зрения UTC.
Если вам нужны миллисекунды по локальному времени пользователя, используют getMilliseconds().
Чем getUTCMilliseconds() отличается от getMilliseconds()
Разница такая:
getUTCMilliseconds()возвращает миллисекунды поUTCgetMilliseconds()возвращает миллисекунды по локальному времени
Во многих случаях результат совпадёт, но при работе с UTC всё равно лучше использовать правильный метод.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Если вы работаете с UTC, серверным временем и ISO-строками, этот нюанс важно учитывать.
Когда это полезно
getUTCMilliseconds() особенно удобен, когда:
- нужна точная часть времени внутри секунды по
UTC - вы выводите время с миллисекундами
- сравниваете очень близкие моменты времени на сервере
- разбираете дату на отдельные части в формате
UTC
Пример:
const date = new Date();
if (date.getUTCMilliseconds() < 10) {
console.log("По UTC сейчас начало секунды");
}
Пример для вывода точного времени по UTC
Метод часто используют вместе с getUTCHours(), getUTCMinutes() и getUTCSeconds().
const date = new Date(Date.UTC(2025, 0, 15, 9, 5, 7, 8));
console.log(
date.getUTCHours(),
date.getUTCMinutes(),
date.getUTCSeconds(),
date.getUTCMilliseconds()
); // 9 5 7 8
Если нужен красивый формат вроде 09:05:07.008, миллисекунды обычно дополнительно дополняют нулями.
Невалидная дата даёт NaN
Если объект Date содержит некорректную дату, результатом будет NaN.
const date = new Date("invalid");
console.log(date.getUTCMilliseconds()); // NaN
Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.
getUTCMilliseconds() не создаёт дату и не форматирует строку
Этот метод не создаёт новую дату и не превращает её в текст.
Он только возвращает число миллисекунд по UTC.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Если нужен красивый вывод времени, его придётся формировать отдельно.
Частые ошибки
Путать getUTCMilliseconds() и getUTCSeconds()
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
console.log(date.getUTCSeconds()); // 45
Это два разных метода.
Ожидать диапазон не от 0 до 999
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 0));
console.log(date.getUTCMilliseconds()); // 0
В JavaScript миллисекунды идут от 0 до 999.
Ожидать полный timestamp
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Если нужен полный timestamp, надо использовать getTime(), а не getUTCMilliseconds().
Путать getUTCMilliseconds() и getMilliseconds()
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));
console.log(date.getUTCMilliseconds()); // 123
Если нужен именно UTC, используйте getUTCMilliseconds(), а не getMilliseconds().
Вызывать getUTCMilliseconds() не у объекта Date
Правильно:
const date = new Date();
console.log(date.getUTCMilliseconds());
Неправильно:
Date.getUTCMilliseconds();
Метод getUTCMilliseconds() работает у экземпляра Date, а не у самого объекта Date.
Ожидать локальное время вместо UTC
getUTCMilliseconds() специально работает по UTC, а не по часовому поясу пользователя.
Если нужны миллисекунды по локальному времени, лучше использовать getMilliseconds().
Не учитывать NaN у невалидной даты
const date = new Date("invalid");
console.log(date.getUTCMilliseconds()); // NaN
Если дата может быть некорректной, полезно сначала проверить сам объект даты.
Быстрая памятка
getUTCMilliseconds()вызывается у объектаDate- метод возвращает миллисекунды числом
- диапазон значений: от
0до999 0- это начало секундыgetUTCMilliseconds()не возвращает полный timestamp- для полного timestamp есть
getTime()иDate.now() getUTCMilliseconds()работает поUTC- для локального времени есть
getMilliseconds() - у невалидной даты результатом будет
NaN
Коротко
getUTCMilliseconds() в JavaScript нужен, чтобы получить миллисекунды из объекта Date по всемирному времени UTC. Главное, что стоит запомнить: метод возвращает число от 0 до 999, не зависит от локального часового пояса пользователя, не изменяет саму дату и его очень важно не путать с getTime(), который возвращает уже полный timestamp.