В библиотеке Day.js основной способ получения текущей даты и времени основан на вызове функции без аргументов. При таком вызове создаётся объект, содержащий момент выполнения кода.
import dayjs from "dayjs";
const now = dayjs();
Функция dayjs() без параметров возвращает текущие
локальные дату и время, используя системные часы окружения выполнения
(браузер или Node.js). Полученный объект является иммутабельной
структурой, предоставляющей цепочку методов для форматирования и
преобразования.
Day.js поддерживает создание экземпляра на основе стандартного
объекта JavaScript Date. Это используется при необходимости
явного контроля над источником времени.
const now = dayjs(new Date());
Передача new Date() эквивалентна вызову без аргументов,
поскольку Date также возвращает текущее время. Разница
заключается в том, что явная передача объекта Date
используется в архитектурах, где требуется унификация входных
данных.
Для получения текущего времени в виде UNIX timestamp (миллисекунды с
1 января 1970 года) используется метод valueOf().
import dayjs from "dayjs";
const timestamp = dayjs().valueOf();
Метод возвращает числовое значение, соответствующее текущему моменту
времени. Это значение полностью совместимо с
Date.now().
Эквивалентная форма:
const timestamp = Date.now();
Day.js предоставляет метод unix(), возвращающий время в
секундах.
import dayjs from "dayjs";
const unixTime = dayjs().unix();
Значение представляет собой целое число, удобное для хранения в базах данных и передачи между сервисами, где не требуется точность до миллисекунд.
В ряде случаев требуется вернуть нативный объект JavaScript
Date. Для этого используется метод
toDate().
import dayjs from "dayjs";
const nativeDate = dayjs().toDate();
Результат представляет собой стандартный объект Date,
совместимый со всеми встроенными API языка.
Получение текущего времени часто сопровождается форматированием.
Метод format() позволяет преобразовать момент в строку
заданного вида.
import dayjs from "dayjs";
const formatted = dayjs().format("YYYY-MM-DD HH:mm:ss");
Часто используемые шаблоны:
YYYY — годMM — месяцDD — деньHH — часы (24-часовой формат)mm — минутыss — секундыПример вывода:
2026-05-22 14:35:10
При вызове dayjs() без дополнительных плагинов
используется локальное время системы. Это означает, что результат
зависит от настроек окружения выполнения.
const localTime = dayjs();
Особенности:
Каждый вызов dayjs() фиксирует отдельный момент времени.
При последовательных вызовах возможна микроскопическая разница
значений.
import dayjs from "dayjs";
const t1 = dayjs();
const t2 = dayjs();
Разница между t1 и t2 обычно измеряется
миллисекундами и зависит от скорости выполнения интерпретатора и
нагрузки среды.
Объект Day.js поддерживает цепочки вызовов, где текущая дата используется как отправная точка для преобразований.
import dayjs from "dayjs";
const result = dayjs()
.add(1, "day")
.format("YYYY-MM-DD");
Хотя здесь выполняется модификация, базой остаётся текущий момент,
полученный через dayjs().
В стандартной конфигурации точность ограничена миллисекундами. При необходимости более строгой синхронизации времени используются внешние источники (например, серверное время), после чего значение передаётся в Day.js.
const serverTimestamp = 1760000000000;
const serverTime = dayjs(serverTimestamp);
Такой подход позволяет унифицировать отображение времени независимо от локального устройства.
Текущий момент часто используется как базовая точка для вычисления интервалов.
import dayjs from "dayjs";
const now = dayjs();
const diff = now.add(2, "hour").diff(now, "minute");
Результат выражает разницу между текущим временем и смещённым значением.
Один и тот же текущий момент может быть представлен в различных форматах без повторного вызова функции.
import dayjs from "dayjs";
const now = dayjs();
const iso = now.toISOString();
const unix = now.unix();
const formatted = now.format("DD.MM.YYYY");
Каждое представление основывается на одном объекте времени, что исключает рассинхронизацию значений.
При инициализации Day.js обращается к системным часам среды выполнения. Это означает:
dayjs()const systemTime = dayjs();