GetUTCSeconds: примеры (JAVASCRIPT)

Работа с секундами в UTC: руководство по getUTCSeconds
Раздел: Дата и время, UTC методы
getUTCSeconds: number

Описание метода getUTCSeconds()

Метод getUTCSeconds() возвращает секунды указанной даты по всемирному координированному времени (UTC). Он принадлежит объекту Date и применяется для временных расчетов, независимых от локального часового пояса пользователя.

Использование метода актуально при работе с серверным временем, логированием событий в единой временной зоне или синхронизацией данных между клиентами в разных регионах.

Синтаксис: dateObj.getUTCSeconds()

Параметры: метод не принимает аргументов.

Возвращаемое значение: целое число от 0 до 59, представляющее секунды указанной даты по UTC.

Базовые примеры использования

Получение текущих секунд по UTC:

const now = new Date();
console.log(now.getUTCSeconds());
// Результат (зависит от времени выполнения): 27

Получение секунд для конкретной даты:

const specificDate = new Date('2023-12-31T23:59:58.123Z');
console.log(specificDate.getUTCSeconds());
// Результат: 58

Похожие функции в JavaScript

  • getSeconds() — возвращает секунды по локальному времени. Используется, когда важна временная зона пользователя.
  • getUTCMinutes(), getUTCHours() — методы для получения других компонентов времени по UTC.
  • toISOString() — возвращает строку в формате ISO, включающую секунды. Подходит для сериализации даты.

Выбор между getUTCSeconds() и getSeconds() зависит от необходимости учитывать или игнорировать локальный часовой пояс.

Типичные ошибки

Использование метода для объекта, не являющегося Date:

const str = "2023-01-01";
console.log(str.getUTCSeconds());
// TypeError: str.getUTCSeconds is not a function

Путаница между локальным временем и UTC. Разница в результатах:

const date = new Date('2023-01-01T00:00:30');
console.log('Локальные секунды:', date.getSeconds());
console.log('UTC секунды:', date.getUTCSeconds());
// Результат (для часового пояса UTC+3):
// Локальные секунды: 30
// UTC секунды: 27
// Разница в 3 секунды обусловлена смещением часового пояса.

Изменения в последних версиях

Метод getUTCSeconds() был стандартизирован в ECMAScript 1 (1997 год) и с тех пор его поведение остается стабильным. Современные версии JavaScript не вносили изменений в работу этого метода.

Расширенные примеры

Формирование временной метки с точностью до секунды по UTC:

Пример javascript
function getUTCTimestamp() {
  const d = new Date();
  return `${d.getUTCHours()}:${d.getUTCMinutes()}:${d.getUTCSeconds()}`;
}
console.log(getUTCTimestamp());
// Результат: 14:35:12

Расчет интервала в секундах между двумя датами в UTC:

Пример javascript
const start = new Date('2023-01-01T10:30:15.000Z');
const end = new Date('2023-01-01T10:30:45.500Z');
const diffSeconds = (end.getUTCSeconds() - start.getUTCSeconds());
console.log(diffSeconds);
// Результат: 30

Использование в комбинации с другими методами UTC для точного хронометража:

Пример javascript
const now = new Date();
const nextMinute = new Date(Date.UTC(
  now.getUTCFullYear(),
  now.getUTCMonth(),
  now.getUTCDate(),
  now.getUTCHours(),
  now.getUTCMinutes() + 1,
  0, 0
));
console.log(`Следующая минута начнется в: ${nextMinute.toISOString()}`);
// Результат: Следующая минута начнется в: 2023-11-15T14:36:00.000Z

Анализ активности пользователя по секундам в едином часовом поясе:

Пример javascript
const logEvents = [
  { event: 'click', time: new Date('2023-11-15T14:30:25Z') },
  { event: 'scroll', time: new Date('2023-11-15T14:30:47Z') }
];
const eventsBySecond = {};
logEvents.forEach(item => {
  const sec = item.time.getUTCSeconds();
  if (!eventsBySecond[sec]) eventsBySecond[sec] = [];
  eventsBySecond[sec].push(item.event);
});
console.log(eventsBySecond);
// Результат: { '25': ['click'], '47': ['scroll'] }

Аналоги функции в других языках

Python (datetime):

from datetime import datetime, timezone
now = datetime.now(timezone.utc)
print(now.second)
# Результат: 27

PHP:

$seconds = (int)gmdate('s');
echo $seconds;
// Результат: 27

MySQL:

SELECT EXTRACT(SECOND FROM UTC_TIME());
-- Результат: 27

C#:

int seconds = DateTime.UtcNow.Second;
Console.WriteLine(seconds);
// Результат: 27

В отличие от JavaScript, где метод вызывается у объекта Date, в Python и C# секунды являются свойством объекта, а в PHP и MySQL используются отдельные функции для работы с UTC.

JS getUTCSeconds function comments

En
GetUTCSeconds Returns the seconds in the specified date according to universal time