getTime() возвращает timestamp из объекта Date.
Если говорить просто, этот метод возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 UTC до указанной даты.
Синтаксис
Базовая запись выглядит так:
date.getTime()
Где:
date- это объектDate
Аргументы этому методу не нужны.
Что возвращает getTime()
Метод возвращает число.
Это число показывает полный timestamp в миллисекундах.
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime()); // например, 1736940645123
console.log(typeof date.getTime()); // "number"
Это важно:
- результат измеряется в миллисекундах
- это не только время суток, а вся дата целиком
- значение зависит от конкретного момента времени
Простой пример
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime());
Метод вернёт большое число, потому что считает миллисекунды от 1 января 1970 года.
Пример с началом отсчёта
У timestamp есть точка отсчёта.
const date = new Date(0);
console.log(date.getTime()); // 0
Это дата 1 января 1970 года 00:00:00 UTC.
getTime() возвращает полный timestamp, а не часть даты
Это самый важный момент.
getTime() не возвращает отдельно часы, минуты, секунды или миллисекунды внутри секунды.
Он возвращает именно полный момент времени.
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime()); // полный timestamp
console.log(date.getMilliseconds()); // 123
Если нужны только миллисекунды внутри секунды, используют getMilliseconds().
Чем getTime() отличается от Date.now()
Эти вещи очень похожи, но используются немного по-разному.
getTime()вызывается у конкретного объектаDateDate.now()сразу возвращает текущийtimestamp
const date = new Date();
console.log(date.getTime());
console.log(Date.now());
Если у вас уже есть объект даты, удобно использовать getTime().
Если нужен timestamp прямо сейчас, часто проще взять Date.now().
Чем getTime() отличается от valueOf()
У объекта Date методы getTime() и valueOf() возвращают одно и то же значение.
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime()); // например, 1736940645123
console.log(date.valueOf()); // например, 1736940645123
На практике getTime() обычно понятнее читается в коде.
getTime() не меняет дату
Метод только читает значение timestamp.
Он не изменяет исходный объект Date.
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
const time = date.getTime();
console.log(time);
console.log(date); // исходная дата остаётся той же
getTime() удобно использовать для сравнения дат
Так как результатом является число, даты удобно сравнивать между собой.
const first = new Date("2025-01-15");
const second = new Date("2025-01-20");
console.log(first.getTime() < second.getTime()); // true
Это полезно, когда нужно понять, какая дата раньше, а какая позже.
getTime() удобно использовать для разницы между датами
Ещё один частый сценарий - вычисление интервала между двумя датами.
const start = new Date("2025-01-15T10:00:00");
const end = new Date("2025-01-15T10:00:05");
console.log(end.getTime() - start.getTime()); // 5000
Результат здесь тоже будет в миллисекундах.
getTime() не зависит от формата вывода даты
Дата может отображаться по-разному, но timestamp описывает один и тот же момент времени.
const date = new Date("2025-01-15T12:00:00Z");
console.log(date.getTime());
Поэтому getTime() часто используют в логике, где нужен именно точный момент времени, а не красивый текст.
Невалидная дата даёт NaN
Если объект Date содержит некорректную дату, результатом будет NaN.
const date = new Date("invalid");
console.log(date.getTime()); // NaN
Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.
getTime() не создаёт дату и не форматирует строку
Этот метод не создаёт новую дату и не превращает её в текст.
Он только возвращает число timestamp.
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime());
Если нужен объект Date, его надо создавать отдельно. Если нужен красивый вывод, его тоже формируют отдельно.
Частые ошибки
Путать getTime() и getMilliseconds()
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime()); // полный timestamp
console.log(date.getMilliseconds()); // 123
Это разные вещи.
Ожидать только время суток
const date = new Date(2025, 0, 15, 14, 30, 45, 123);
console.log(date.getTime());
getTime() возвращает не 14:30, а полный момент времени в миллисекундах.
Вызывать getTime() не у объекта Date
Правильно:
const date = new Date();
console.log(date.getTime());
Неправильно:
Date.getTime();
Метод getTime() работает у экземпляра Date, а не у самого объекта Date.
Забывать, что результат в миллисекундах
const start = new Date("2025-01-15T10:00:00");
const end = new Date("2025-01-15T10:00:05");
console.log(end.getTime() - start.getTime()); // 5000
Это 5000 миллисекунд, а не 5 секунд.
Не учитывать NaN у невалидной даты
const date = new Date("invalid");
console.log(date.getTime()); // NaN
Если дата может быть некорректной, полезно сначала проверить сам объект даты.
Быстрая памятка
getTime()вызывается у объектаDate- метод возвращает число
- это полный
timestampв миллисекундах - точка отсчёта:
1 января 1970 года 00:00:00 UTC getTime()не возвращает только миллисекунды внутри секунды- для текущего
timestampбез объекта даты естьDate.now() - у
DateметодыgetTime()иvalueOf()дают одинаковый результат - у невалидной даты результатом будет
NaN
Коротко
getTime() в JavaScript нужен, чтобы получить полный timestamp из объекта Date. Главное, что стоит запомнить: метод возвращает число миллисекунд с 1 января 1970 года, не изменяет саму дату и его очень важно не путать с getMilliseconds(), который возвращает только часть времени внутри текущей секунды.