Полный список методов

Основной точкой входа в библиотеку является функция dayjs(), создающая неизменяемый объект даты.

dayjs()
dayjs('2026-05-23')
dayjs(1620000000000)
dayjs(new Date())
dayjs([2026, 4, 23])

Поддерживаемые формы:

  • строка (разбирается по ISO или пользовательскому формату при подключении плагинов)
  • timestamp в миллисекундах
  • объект Date
  • массив [год, месяц, день, ...]

Особенности:

  • объект Day.js иммутабелен
  • каждый метод, изменяющий дату, возвращает новый экземпляр
  • базовый API минималистичен и расширяется через плагины

Статические методы dayjs

Проверка и идентификация

dayjs.isDayjs(obj)

Возвращает true, если объект является экземпляром Day.js.


Расширение функциональности

dayjs.extend(plugin)

Подключение плагинов, расширяющих API.


Локализация

dayjs.locale('ru')
dayjs.locale('en')

Установка или получение текущей локали.


Создание из Unix timestamp

dayjs.unix(1630000000)

Принимает секунды (в отличие от стандартного конструктора, использующего миллисекунды).


Минимум и максимум (через плагины)

dayjs.min(a, b)
dayjs.max(a, b)

Возвращают меньшую или большую дату соответственно.


Получение значений (геттеры)

Day.js предоставляет методы извлечения компонентов даты.

Основные компоненты

date.year()
date.month()
date.date()
date.hour()
date.minute()
date.second()
date.millisecond()

Особенности:

  • month() возвращает значение от 0 до 11
  • все методы возвращают числа

Получение timestamp

date.valueOf()

Возвращает количество миллисекунд с 1970-01-01.

date.unix()

Возвращает timestamp в секундах.


Конвертация в стандартный Date

date.toDate()

Возвращает объект Date.


ISO-представление

date.toISOString()

Возвращает строку в формате ISO 8601.


Установка значений (сеттеры)

Методы изменения компонентов даты возвращают новый экземпляр.

date.year(2025)
date.month(0)
date.date(15)
date.hour(10)
date.minute(30)
date.second(45)
date.millisecond(500)

Принцип работы:

  • исходный объект не изменяется
  • возвращается новый объект Day.js

Арифметика дат

Добавление времени

date.add(1, 'day')
date.add(2, 'month')
date.add(3, 'year')
date.add(10, 'minute')

Поддерживаемые единицы:

  • year
  • month
  • week
  • day
  • hour
  • minute
  • second
  • millisecond

Вычитание времени

date.subtract(1, 'day')
date.subtract(2, 'month')

Синтаксис идентичен add, но выполняет обратную операцию.


Границы периодов

Начало периода

date.startOf('day')
date.startOf('month')
date.startOf('year')

Устанавливает дату на начало указанного периода.


Конец периода

date.endOf('day')
date.endOf('month')
date.endOf('year')

Переводит дату в последнюю точку периода.


Сравнение дат

Базовые сравнения

date1.isBefore(date2)
date1.isAfter(date2)
date1.isSame(date2)

Можно уточнять единицы измерения:

date1.isSame(date2, 'day')
date1.isBefore(date2, 'month')

Диапазоны (через plugin isBetween)

date.isBetween(start, end)

Проверяет принадлежность интервалу.


Разница между датами

date1.diff(date2)
date1.diff(date2, 'day')
date1.diff(date2, 'month', true)

Особенности:

  • третий аргумент включает дробную часть
  • результат зависит от выбранной единицы измерения

Форматирование

date.format('YYYY-MM-DD')
date.format('DD.MM.YYYY')
date.format('HH:mm:ss')

Основные токены:

  • YYYY — год
  • MM — месяц
  • DD — день
  • HH — часы (24h)
  • mm — минуты
  • ss — секунды

Относительное время

В прошлое

date.fromNow()

Возвращает строку вида «2 days ago» (локализуется через плагины).


В будущее

date.toNow()

Показывает разницу относительно текущего момента.


Локализация экземпляра

date.locale('ru')
date.locale('en')

Меняет язык форматирования только для конкретного объекта.


Работа с UTC (через плагин utc)

date.utc()
date.local()
  • utc() переводит в UTC-режим
  • local() возвращает локальное время

Работа с часовыми поясами (плагин timezone)

date.tz('Europe/Moscow')

Позволяет работать с конкретным часовым поясом.


Клонирование и неизменяемость

Каждый вызов метода возвращает новый объект:

const a = dayjs()
const b = a.add(1, 'day')

a остаётся неизменным.


Проверки валидности

date.isValid()

Возвращает true для корректно распарсенной даты.


Преобразования типов

В строку

date.toString()

В JSON

date.toJSON()

Используется при сериализации объектов.


Длительности (плагин duration)

dayjs.duration(5000)
dayjs.duration({ minutes: 2 })

Основные методы:

duration.asSeconds()
duration.asMinutes()
duration.asHours()

Итерации и диапазоны (через плагины)

Некоторые расширения добавляют:

  • генерацию диапазонов дат
  • шаговые итерации
  • календарные вычисления

Композиция методов

Day.js поддерживает цепочки вызовов:

dayjs()
  .add(2, 'day')
  .subtract(1, 'hour')
  .startOf('month')
  .format('YYYY-MM-DD')

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