Learn JavaScript

getTime() - получение timestamp из даты в JavaScript

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() вызывается у конкретного объекта Date
  • Date.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(), который возвращает только часть времени внутри текущей секунды.