Песочница date-fns
Тестируйте и экспериментируйте с функциями библиотеки date-fns в живой JavaScript‑песочнице с мгновенным выводом
Ввод
Вывод
Документация
Что такое date-fns?
date-fns — это современная JavaScript‑библиотека утилит для работы с датами, предоставляющая комплексный, согласованный и надёжный набор инструментов для работы с датами в JavaScript. В отличие от встроенного объекта JavaScript Date, который имеет множество особенностей и несоответствий, date-fns предлагает модульный, функциональный подход к манипуляциям с датами. Библиотека поддерживает tree‑shakeable‑режим, то есть в ваш пакет попадают только те функции, которые действительно используются, что минимизирует размер сборки. Библиотека содержит более 200 функций, охватывающих всё — от форматирования и парсинга до сравнения, изменения и локализации дат.
Зачем использовать песочницу date-fns?
Работа с датами в JavaScript может быть сложной — часовые пояса, шаблоны форматирования и арифметика дат часто приводят к неожиданным результатам. Песочница позволяет экспериментировать с функциями date-fns в реальном времени, видеть мгновенный вывод и изучать API без настройки полноценного проекта. Это идеальный способ тестировать строки форматирования, отлаживать расчёты дат или быстро прототипировать логику работы с датами перед интеграцией в приложение.
Описание инструмента
Песочница date-fns — интерактивная среда кодирования, позволяющая писать и выполнять JavaScript‑код с полностью предзагруженной библиотекой date-fns. Весь набор функций доступен через объект dateFns, предоставляющий доступ к более чем 200 функциям. Код исполняется автоматически по мере ввода (с дебаунсом), а все выводы console.log, console.warn и console.error отображаются во встроенном терминале под редактором. Это делает её идеальной для изучения date-fns, тестирования операций с датами и экспериментов с различными вариантами форматирования.
Примеры
Форматировать текущую дату:
const now = new Date();
console.log(dateFns.format(now, "MMMM do, yyyy"));
// Вывод: 30 декабря 2025 г.Подсчитать количество дней между двумя датами:
const start = new Date(2025, 0, 1);
const end = new Date(2025, 11, 31);
console.log(dateFns.differenceInDays(end, start) + " дней");
// Вывод: 364 днейДобавить время к дате:
const today = new Date();
const nextWeek = dateFns.addWeeks(today, 1);
const nextMonth = dateFns.addMonths(today, 1);
console.log("Следующая неделя:", dateFns.format(nextWeek, "yyyy-MM-dd"));
console.log("Следующий месяц:", dateFns.format(nextMonth, "yyyy-MM-dd"));Проверить, находится ли дата в прошлом или будущем:
const date = new Date(2024, 5, 15);
console.log("Прошло?", dateFns.isPast(date));
console.log("Будущее?", dateFns.isFuture(date));Парсить строку даты:
const parsed = dateFns.parse("25/12/2025", "dd/MM/yyyy", new Date());
console.log(dateFns.format(parsed, "EEEE, MMMM do, yyyy"));
// Вывод: Четверг, 25 декабря 2025 г.Возможности
- Полная библиотека date-fns: Доступ ко всем более чем 200 функциям date-fns через объект
dateFns - Выполнение кода в реальном времени: Код запускается автоматически по мере ввода с интеллектуальной задержкой
- Встроенный терминал: Просмотр вывода консоли мгновенно без инструментов разработчика браузера
- Подсветка синтаксиса: Подсветка синтаксиса JavaScript для лучшей читаемости кода
- Обработка ошибок: Ошибки выполнения отображаются чётко в выводе терминала
Сценарии использования
- Изучение date-fns: Экспериментируйте с различными функциями и сразу видьте результаты без настройки проекта
- Тестирование форматов дат: Пробуйте разные строки формата, чтобы найти точный шаблон вывода, который вам нужен
- Прототипирование расчётов дат: Тестируйте сложные арифметические операции с датами, такие как добавление рабочих дней, поиск интервалов или сравнение дат
- Отладка логики дат: Изолируйте и тестируйте фрагменты кода, связанные с датами, из ваших проектов
- Быстрые конвертации дат: Конвертируйте между форматами дат или вычисляйте разницу во времени «на лету»
Распространённые функции date-fns
| Функция | Описание | Пример |
|---|---|---|
format |
Форматировать дату в строку | dateFns.format(date, "yyyy-MM-dd") |
parse |
Преобразовать строку в дату | dateFns.parse("2025-01-01", "yyyy-MM-dd", new Date()) |
addDays |
Добавить дни к дате | dateFns.addDays(date, 7) |
subMonths |
Вычесть месяцы из даты | dateFns.subMonths(date, 3) |
differenceInDays |
Получить количество дней между датами | dateFns.differenceInDays(dateA, dateB) |
isAfter |
Проверить, находится ли дата после другой | dateFns.isAfter(dateA, dateB) |
isBefore |
Проверить, находится ли дата до другой | dateFns.isBefore(dateA, dateB) |
startOfMonth |
Получить первый день месяца | dateFns.startOfMonth(date) |
endOfYear |
Получить последний момент года | dateFns.endOfYear(date) |
formatDistance |
Человекочитаемая разница во времени | dateFns.formatDistance(dateA, dateB) |
Справочник токенов формата
| Токен | Описание | Пример |
|---|---|---|
yyyy |
Год из 4 цифр | 2025 |
MM |
Месяц из 2 цифр | 01‑12 |
MMMM |
Полное название месяца | January |
dd |
День из 2 цифр | 01‑31 |
do |
День с порядковым суффиксом | 1‑й, 2‑й, 3‑й |
EEEE |
Полное название дня недели | Monday |
EEE |
Краткое название дня недели | Mon |
HH |
Час в 24‑часовом формате | 00‑23 |
hh |
Час в 12‑часовом формате | 01‑12 |
mm |
Минуты | 00‑59 |
ss |
Секунды | 00‑59 |
a |
AM/PM | AM, PM |