Основной точкой входа в библиотеку является функция
dayjs(), создающая неизменяемый объект даты.
dayjs()
dayjs('2026-05-23')
dayjs(1620000000000)
dayjs(new Date())
dayjs([2026, 4, 23])
Поддерживаемые формы:
Date[год, месяц, день, ...]Особенности:
dayjs.isDayjs(obj)
Возвращает true, если объект является экземпляром
Day.js.
dayjs.extend(plugin)
Подключение плагинов, расширяющих API.
dayjs.locale('ru')
dayjs.locale('en')
Установка или получение текущей локали.
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 до
11date.valueOf()
Возвращает количество миллисекунд с 1970-01-01.
date.unix()
Возвращает timestamp в секундах.
date.toDate()
Возвращает объект Date.
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)
Принцип работы:
date.add(1, 'day')
date.add(2, 'month')
date.add(3, 'year')
date.add(10, 'minute')
Поддерживаемые единицы:
yearmonthweekdayhourminutesecondmilliseconddate.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')
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')
Меняет язык форматирования только для конкретного объекта.
date.utc()
date.local()
utc() переводит в UTC-режимlocal() возвращает локальное времяdate.tz('Europe/Moscow')
Позволяет работать с конкретным часовым поясом.
Каждый вызов метода возвращает новый объект:
const a = dayjs()
const b = a.add(1, 'day')
a остаётся неизменным.
date.isValid()
Возвращает true для корректно распарсенной даты.
date.toString()
date.toJSON()
Используется при сериализации объектов.
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')
Каждый шаг возвращает новый объект, сохраняя предсказуемость вычислений.