Learn JavaScript

getUTCMilliseconds() - получение миллисекунд по UTC в JavaScript

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() возвращает миллисекунды по UTC
  • getUTCSeconds() возвращает секунды по 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() возвращает миллисекунды по UTC
  • getMilliseconds() возвращает миллисекунды по локальному времени

Во многих случаях результат совпадёт, но при работе с 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.