Learn JavaScript

getMilliseconds() - получение миллисекунд из даты в JavaScript

getMilliseconds() возвращает миллисекунды из объекта Date.

Если говорить просто, этот метод достаёт миллисекунды из даты и времени, например 0, 123, 500 или 999.

Синтаксис

Базовая запись выглядит так:

date.getMilliseconds()

Где:

  • date - это объект Date

Аргументы этому методу не нужны.

Что возвращает getMilliseconds()

Метод возвращает число от 0 до 999.

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123
console.log(typeof date.getMilliseconds()); // "number"

Это важно:

  • 0 - начало секунды
  • 500 - середина секунды
  • 999 - последняя миллисекунда перед следующей секундой

Простой пример

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123

Здесь:

  • 2025 - год
  • 0 - январь
  • 15 - день месяца
  • 14 - часы
  • 30 - минуты
  • 45 - секунды
  • 123 - миллисекунды

Метод возвращает 123, потому что это миллисекунды в указанной дате.

Пример с началом и концом секунды

const start = new Date(2025, 0, 15, 14, 30, 45, 0);
const end = new Date(2025, 0, 15, 14, 30, 45, 999);

console.log(start.getMilliseconds()); // 0
console.log(end.getMilliseconds()); // 999

Так хорошо видно, что диапазон значений идёт от 0 до 999.

getMilliseconds() не возвращает секунды

Это одна из самых частых ошибок.

getMilliseconds() отвечает только за миллисекунды. Секунды, минуты и часы он не возвращает.

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123

Чем getMilliseconds() отличается от getSeconds()

Эти методы легко перепутать.

  • getMilliseconds() возвращает миллисекунды
  • getSeconds() возвращает секунды
const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123
console.log(date.getSeconds()); // 45

getMilliseconds() не возвращает полный timestamp

Это очень важный момент.

getMilliseconds() возвращает только часть времени внутри одной секунды, а не количество миллисекунд с 1 января 1970 года.

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123
console.log(date.getTime()); // полный timestamp

Если нужен полный timestamp, используют getTime() или Date.now().

getMilliseconds() не меняет дату

Метод только читает значение миллисекунд.

Он не изменяет исходный объект Date.

const date = new Date(2025, 0, 15, 14, 30, 45, 123);
const milliseconds = date.getMilliseconds();

console.log(milliseconds); // 123
console.log(date); // исходная дата остаётся той же

getMilliseconds() работает по локальному времени

Это важный момент.

Метод getMilliseconds() смотрит на дату с точки зрения локального часового пояса пользователя.

Если вам нужны миллисекунды именно по UTC, используют getUTCMilliseconds().

Чем getMilliseconds() отличается от getUTCMilliseconds()

Разница такая:

  • getMilliseconds() возвращает миллисекунды по локальному времени
  • getUTCMilliseconds() возвращает миллисекунды по UTC

Во многих случаях результат совпадёт, но при работе с UTC всё равно лучше использовать правильный метод.

const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45, 123));

console.log(date.getUTCMilliseconds()); // 123

Если вы работаете с UTC, серверным временем и ISO-строками, этот нюанс важно учитывать.

Когда это полезно

getMilliseconds() особенно удобен, когда:

  • нужна точная часть времени внутри секунды
  • вы выводите время с миллисекундами
  • сравниваете очень близкие моменты времени
  • разбираете дату на отдельные части

Пример:

const date = new Date();

if (date.getMilliseconds() < 10) {
  console.log("Сейчас начало секунды");
}

Пример для вывода точного времени

Метод часто используют вместе с getHours(), getMinutes() и getSeconds().

const date = new Date(2025, 0, 15, 9, 5, 7, 8);

console.log(
  date.getHours(),
  date.getMinutes(),
  date.getSeconds(),
  date.getMilliseconds()
); // 9 5 7 8

Если нужен красивый формат вроде 09:05:07.008, миллисекунды обычно дополнительно дополняют нулями.

Невалидная дата даёт NaN

Если объект Date содержит некорректную дату, результатом будет NaN.

const date = new Date("invalid");

console.log(date.getMilliseconds()); // NaN

Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.

getMilliseconds() не создаёт дату и не форматирует строку

Этот метод не создаёт новую дату и не превращает её в текст.

Он только возвращает число миллисекунд.

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123

Если нужен красивый вывод времени, его придётся формировать отдельно.

Частые ошибки

Путать getMilliseconds() и getSeconds()

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123
console.log(date.getSeconds()); // 45

Это два разных метода.

Ожидать диапазон не от 0 до 999

const date = new Date(2025, 0, 15, 14, 30, 45, 0);

console.log(date.getMilliseconds()); // 0

В JavaScript миллисекунды идут от 0 до 999.

Ожидать полный timestamp

const date = new Date(2025, 0, 15, 14, 30, 45, 123);

console.log(date.getMilliseconds()); // 123

Если нужен полный timestamp, надо использовать getTime(), а не getMilliseconds().

Вызывать getMilliseconds() не у объекта Date

Правильно:

const date = new Date();

console.log(date.getMilliseconds());

Неправильно:

Date.getMilliseconds();

Метод getMilliseconds() работает у экземпляра Date, а не у самого объекта Date.

Забывать про локальное время

getMilliseconds() использует локальный часовой пояс пользователя.

Если важен именно UTC, лучше смотреть в сторону getUTCMilliseconds().

Не учитывать NaN у невалидной даты

const date = new Date("invalid");

console.log(date.getMilliseconds()); // NaN

Если дата может быть некорректной, полезно сначала проверить сам объект даты.

Быстрая памятка

  • getMilliseconds() вызывается у объекта Date
  • метод возвращает миллисекунды числом
  • диапазон значений: от 0 до 999
  • 0 - это начало секунды
  • getMilliseconds() не возвращает полный timestamp
  • для полного timestamp есть getTime() и Date.now()
  • getMilliseconds() работает по локальному времени
  • для UTC есть getUTCMilliseconds()
  • у невалидной даты результатом будет NaN

Коротко

getMilliseconds() в JavaScript нужен, чтобы получить миллисекунды из объекта Date. Главное, что стоит запомнить: метод возвращает число от 0 до 999, работает по локальному времени, не изменяет саму дату и его очень важно не путать с getTime(), который возвращает уже полный timestamp.