getUTCSeconds() возвращает секунды из объекта Date по UTC.
Если говорить просто, этот метод достаёт секунды из даты и времени, например 0, 15, 45 или 59, но делает это не по локальному времени пользователя, а по всемирному времени UTC.
Синтаксис
Базовая запись выглядит так:
date.getUTCSeconds()
Где:
date- это объектDate
Аргументы этому методу не нужны.
Что возвращает getUTCSeconds()
Метод возвращает число от 0 до 59.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
console.log(typeof date.getUTCSeconds()); // "number"
Это важно:
0- начало новой минуты30- середина минуты59- последняя секунда перед следующей минутой
Простой пример
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
Здесь:
2025- год0- январь15- день месяца14- часы30- минуты45- секунды
Метод возвращает 45, потому что это секунды в указанной дате по UTC.
Пример с началом и концом минуты
const start = new Date(Date.UTC(2025, 0, 15, 14, 30, 0));
const end = new Date(Date.UTC(2025, 0, 15, 14, 30, 59));
console.log(start.getUTCSeconds()); // 0
console.log(end.getUTCSeconds()); // 59
Так хорошо видно, что диапазон значений идёт от 0 до 59.
getUTCSeconds() не возвращает минуты
Это одна из самых частых ошибок.
getUTCSeconds() отвечает только за секунды. Минуты и часы он не возвращает.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
Чем getUTCSeconds() отличается от getUTCMinutes()
Эти методы легко перепутать.
getUTCSeconds()возвращает секунды поUTCgetUTCMinutes()возвращает минуты поUTC
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
console.log(date.getUTCMinutes()); // 30
getUTCSeconds() не меняет дату
Метод только читает значение секунд.
Он не изменяет исходный объект Date.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
const seconds = date.getUTCSeconds();
console.log(seconds); // 45
console.log(date); // исходная дата остаётся той же
getUTCSeconds() работает именно по UTC
Это главный момент.
Метод getUTCSeconds() всегда смотрит на дату с точки зрения UTC.
Если вам нужны секунды по локальному времени пользователя, используют getSeconds().
Чем getUTCSeconds() отличается от getSeconds()
Разница такая:
getUTCSeconds()возвращает секунды поUTCgetSeconds()возвращает секунды по локальному времени
Во многих случаях результат совпадёт, но при работе с UTC всё равно лучше использовать правильный метод.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
Если вы работаете с UTC, серверным временем и ISO-строками, этот нюанс важно учитывать.
Когда это полезно
getUTCSeconds() особенно удобен, когда:
- дата хранится в
UTC - вы работаете с серверным временем
- нужно одинаковое поведение независимо от часового пояса пользователя
- вы выводите точное время, логи или метки по
UTC
Пример:
const date = new Date("2025-01-15T14:30:00Z");
if (date.getUTCSeconds() === 0) {
console.log("По UTC началась новая минута");
}
Пример для вывода времени по UTC
Метод часто используют вместе с getUTCHours() и getUTCMinutes().
const date = new Date(Date.UTC(2025, 0, 15, 9, 5, 7));
console.log(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); // 9 5 7
Если нужен красивый формат вроде 09:05:07, секунды обычно дополнительно дополняют нулём.
Невалидная дата даёт NaN
Если объект Date содержит некорректную дату, результатом будет NaN.
const date = new Date("invalid");
console.log(date.getUTCSeconds()); // NaN
Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.
getUTCSeconds() не создаёт дату и не форматирует строку
Этот метод не создаёт новую дату и не превращает её в текст.
Он только возвращает число секунд по UTC.
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
Если нужен красивый вывод времени, его придётся формировать отдельно.
Частые ошибки
Путать getUTCSeconds() и getUTCMinutes()
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
console.log(date.getUTCMinutes()); // 30
Это два разных метода.
Ожидать диапазон не от 0 до 59
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 0));
console.log(date.getUTCSeconds()); // 0
В JavaScript секунды идут от 0 до 59.
Путать getUTCSeconds() и getSeconds()
const date = new Date(Date.UTC(2025, 0, 15, 14, 30, 45));
console.log(date.getUTCSeconds()); // 45
Если нужен именно UTC, используйте getUTCSeconds(), а не getSeconds().
Вызывать getUTCSeconds() не у объекта Date
Правильно:
const date = new Date();
console.log(date.getUTCSeconds());
Неправильно:
Date.getUTCSeconds();
Метод getUTCSeconds() работает у экземпляра Date, а не у самого объекта Date.
Ожидать локальное время вместо UTC
getUTCSeconds() специально работает по UTC, а не по часовому поясу пользователя.
Если нужны секунды по локальному времени, лучше использовать getSeconds().
Не учитывать NaN у невалидной даты
const date = new Date("invalid");
console.log(date.getUTCSeconds()); // NaN
Если дата может быть некорректной, полезно сначала проверить сам объект даты.
Быстрая памятка
getUTCSeconds()вызывается у объектаDate- метод возвращает секунды числом
- диапазон значений: от
0до59 0- это начало новой минутыgetUTCSeconds()не возвращает минуты- для минут есть
getUTCMinutes() getUTCSeconds()работает поUTC- для локального времени есть
getSeconds() - у невалидной даты результатом будет
NaN
Коротко
getUTCSeconds() в JavaScript нужен, чтобы получить секунды из объекта Date по всемирному времени UTC. Главное, что стоит запомнить: метод возвращает число от 0 до 59, не зависит от локального часового пояса пользователя, не изменяет саму дату и его очень важно не путать с getUTCMinutes(), который отвечает уже за минуты.