Форматирование дня недели в Moment.js основано на наборе токенов,
которые определяют способ отображения значения: от числового индекса до
полного локализованного названия. Эти токены используются внутри метода
format() и тесно связаны с локализацией, поскольку итоговое
значение зависит от текущего языка и настроек региона.
d — числовой день недели
(0–6)Токен d возвращает индекс дня недели в числовом
виде:
Пример:
moment().format('d');
Вывод:
3
Значение зависит от текущего дня недели.
dd — сокращённое
обозначение дняТокен dd возвращает краткое локализованное представление
дня недели (обычно 2 символа):
Пример:
moment().format('dd');
Вывод:
We
Формат зависит от языка. В русской локали это может быть:
Ср
ddd — короткое название
дняТокен ddd возвращает сокращённое название дня
недели:
moment().format('ddd');
Вывод:
Wed
или в русской локализации:
Ср
dddd — полное название
дняТокен dddd используется для получения полного названия
дня недели:
moment().format('dddd');
Вывод:
Wednesday
или:
Среда
E — ISO-нумерация
дня недели (1–7)Токен E возвращает день недели по стандарту ISO
8601:
Пример:
moment().format('E');
Вывод:
3
(если день — среда)
d и E| Токен | Диапазон | Начало недели | Стандарт |
|---|---|---|---|
d |
0–6 | Воскресенье | локальный |
E |
1–7 | Понедельник | ISO 8601 |
Различие критично при работе с международными системами, где требуется строгая неделя, начинающаяся с понедельника.
Moment.js использует локаль для преобразования токенов
dd, ddd, dddd.
Пример установки локали:
moment.locale('ru');
После этого:
moment().format('dddd');
может вернуть:
среда
Локализация влияет на:
Помимо токенов форматирования, Moment.js предоставляет методы для работы с днем недели напрямую:
weekday()Возвращает или устанавливает день недели в локальной системе:
moment().weekday();
Установка:
moment().weekday(1); // установить понедельник
isoWeekday()Работает по ISO-стандарту:
moment().isoWeekday();
Установка:
moment().isoWeekday(7); // воскресенье
moment().format('YYYY-MM-DD dddd');
Результат:
2026-05-21 Thursday
moment().format('dd d');
Результат:
Th 4
moment().format('YYYY-WW-E');
Результат:
2026-21-3
Один и тот же токен может возвращать разные строки:
moment.locale('en');
moment().format('dddd'); // Wednesday
moment.locale('ru');
moment().format('dddd'); // среда
При переходе между d и E часто возникает
ошибка интерпретации:
d = 0 → воскресеньеE = 7 → воскресеньеЭто необходимо учитывать при вычислениях, связанных с календарными неделями.
Если локаль не задана, используется английская:
moment.locale('en');
moment().format('ddd');
| Токен | Описание | Пример |
|---|---|---|
d |
Числовой индекс (0–6) | 4 |
dd |
Короткое название | Th |
ddd |
Сокращённое имя | Thu |
dddd |
Полное имя | Thursday |
E |
ISO-день недели (1–7) | 4 |