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

Использование getUTCDay в JavaScript с подробными примерами
Раздел: Дата и время, UTC методы
getUTCDay: number

Описание функции getUTCDay

Метод getUTCDay() принадлежит объекту Date в JavaScript. Он возвращает день недели для указанной даты по Всемирному координированному времени (UTC), где воскресенье соответствует значению 0, понедельник — 1 и так далее до субботы — 6.

Метод не принимает никаких аргументов. Он вызывается для экземпляра объекта Date и возвращает целое число от 0 до 6, которое представляет день недели по григорианскому календарю.

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

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

Пример с текущей датой:

const now = new Date();
console.log(now.getUTCDay());
// Результат будет числом от 0 до 6 в зависимости от текущего дня недели по UTC.

Пример с конкретной датой:

const date = new Date('2023-12-25T00:00:00Z');
console.log(date.getUTCDay());
1 // 25 декабря 2023 года — понедельник.

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

Метод getDay() возвращает день недели для указанной даты по местному времени системы. Он следует тому же формату (0 — воскресенье). Выбор между getUTCDay() и getDay() зависит от необходимости учета локального часового пояса.

Методы getUTCDate() и getDate() возвращают число месяца, а не день недели.

Предпочтительнее использовать getUTCDay() для универсальных вычислений, не зависящих от локальных настроек.

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

Основная ошибка — попытка вызвать метод для невалидного объекта Date.

const invalidDate = new Date('invalid-string');
console.log(invalidDate.getUTCDay());
NaN

Еще одна распространенная ошибка — неправильная интерпретация возвращаемого значения, например, ожидание, что 1 соответствует вторнику.

Вызов метода с аргументами не приводит к ошибке, но аргументы игнорируются.

const date = new Date();
console.log(date.getUTCDay(5)); // Аргумент игнорируется

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

Метод getUTCDay() был стандартизирован в ECMAScript 1 (ES1) и с тех пор не претерпевал изменений в своем поведении или синтаксисе. Он остается стабильной и обратно совместимой частью языка JavaScript.

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

Определение, является ли день выходным (суббота или воскресенье) по UTC:

Пример javascript
function isUTCWeekend(date) {
  const day = date.getUTCDay();
  return day === 0 || day === 6;
}
console.log(isUTCWeekend(new Date('2023-12-24'))); // Воскресенье
console.log(isUTCWeekend(new Date('2023-12-25'))); // Понедельник
true
false

Сопоставление числового значения с названием дня недели на русском языке:

Пример javascript
const utcDays = ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'];
const date = new Date('2023-12-31T12:00:00Z');
console.log(utcDays[date.getUTCDay()]);
воскресенье

Расчет количества определенных дней недели за период:

Пример javascript
function countUTCDays(startDate, endDate, targetDay) {
  let count = 0;
  const current = new Date(startDate);
  const end = new Date(endDate);
  while (current <= end) {
    if (current.getUTCDay() === targetDay) count++;
    current.setUTCDate(current.getUTCDate() + 1);
  }
  return count;
}
console.log(countUTCDays('2023-12-01', '2023-12-31', 1)); // Понедельники в декабре 2023
5

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

PHP: Функция date('N', $timestamp) возвращает числовое представление дня недели по ISO-8601 (1 — понедельник, 7 — воскресенье) для времени UTC, если использовать gmdate().

echo gmdate('N', strtotime('2023-12-25'));
1

Python: Метод weekday() у объекта datetime, возвращаемый datetime.utcnow(), дает число от 0 (понедельник) до 6 (воскресенье).

from datetime import datetime
print(datetime.utcnow().weekday())

MySQL: Функция DAYOFWEEK(utc_date()) возвращает 1 для воскресенья, 2 для понедельника и т.д.

SELECT DAYOFWEEK(UTC_DATE());

C (стандартная библиотека): В структуре tm, заполненной функцией gmtime(), поле tm_wday содержит день недели (0 — воскресенье, 6 — суббота).

JS getUTCDay function comments

En
GetUTCDay Returns the day of the week in the specified date according to universal time