Learn JavaScript

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

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

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

Синтаксис

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

date.getSeconds()

Где:

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

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

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

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

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

console.log(date.getSeconds()); // 45
console.log(typeof date.getSeconds()); // "number"

Это важно:

  • 0 - начало новой минуты
  • 30 - середина минуты
  • 59 - последняя секунда перед следующей минутой

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

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

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

Здесь:

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

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

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

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

console.log(start.getSeconds()); // 0
console.log(end.getSeconds()); // 59

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

getSeconds() не возвращает минуты

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

getSeconds() отвечает только за секунды. Минуты и часы он не возвращает.

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

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

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

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

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

console.log(date.getSeconds()); // 45
console.log(date.getMinutes()); // 30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

console.log(date.getUTCSeconds()); // 45

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

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

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

  • нужно получить секунды из даты
  • вы выводите точное время
  • проверяете, наступил ли новый момент времени
  • собираете строку вроде 14:30:45

Пример:

const date = new Date();

if (date.getSeconds() === 0) {
  console.log("Началась новая минута");
}

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

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

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

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

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

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

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

const date = new Date("invalid");

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

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

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

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

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

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

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

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

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

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

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

console.log(date.getSeconds()); // 45
console.log(date.getMinutes()); // 30

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

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

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

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

В JavaScript секунды идут от 0 до 59.

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

Правильно:

const date = new Date();

console.log(date.getSeconds());

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

Date.getSeconds();

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

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

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

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

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

const date = new Date("invalid");

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

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

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

  • getSeconds() вызывается у объекта Date
  • метод возвращает секунды числом
  • диапазон значений: от 0 до 59
  • 0 - это начало новой минуты
  • getSeconds() не возвращает минуты
  • для минут есть getMinutes()
  • getSeconds() работает по локальному времени
  • для UTC есть getUTCSeconds()
  • у невалидной даты результатом будет NaN

Коротко

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