rud
v1.0.5
Published
russian date submission tool
Downloads
9
Readme
Rud
Библиотека предназначена для представления дат в человекочитаемом формате, привычном русскоязычной аудитории.
Библиотека не предназначена для форматирования времени: форматирование времени
— это обработка большого количества случаев, что повлечёт за собой большую
кодовую базу. Смысл rud
в минималистичности, за считанные байты мы получаем
всю необходимую функциональность форматирования дат.
Формат Ymd
Одним из форматов стандарта ISO 8601
является YYYYMMDD
или сокращённо Ymd
. Это восьмиразрядное число в
десятичной системе счисления, старшие четыре разряда которого представляют год,
далее два разряда — месяц, и два младших — день. Преимуществом такого формата
для представления дат является удобство хранения числа в БД, а так же удобство
сравнения (число, выражающее дату A
всегда будет больше числа, выражающего
дату B
, если дата A
позже даты B
).
Представление дат в русскоязычных приложениях
Насколько удобен формат Ymd
для хранения и операций, настолько же он неудобен
для чтения. В русскоязычном сегменте приняты следующие человекочитаемые форматы:
DD.MM.YYYY
(например, 21.04.2020) и D месяца YYYY
(например, 21 апреля 2020).
Данная библиотека реализует моё видение форматирования дат, поэтому во многом опирается на субъективное суждение. Я не считаю приемлемыми варианты с сокращением месяцев точкой или с добавлением "г." в конце даты, так что вы не найдёте здесь реализации таких форматов (хотя дописать "г." в конце даты сможете и сами 😊)
Установка
Установите rud
при помощи npm
:
npm i rud
Подключение
С применением CommonJS:
const { rudDigits, rudString, rudInterval } = require('rud');
С применением ES Modules:
import { rudDigits, rudString, rudInterval } from 'rud';
Использование
Цифровое представление:
// С разделителем по умолчанию (точка)
rudDigits(20200101); // 01.01.2020
// С заданным разделителем
rudDigits(20200101, '/'); // 01/01/2020
Строковое представление:
// По умолчанию выходная строка содержит год
rudString(20190507); // '7 мая 2019'
// Если требуется, год можно скрыть
rudString(20190507, false); // '7 мая'
При построении интервалов дат, функция rudInterval
по возможности сокращает
представление повторяющихся элементов:
rudInterval(20191201, 20200130); // 1 декабря 2019 — 30 января 2020
rudInterval(20200110, 20200220); // 10 января — 20 февраля 2020
rudInterval(20200211, 20200221); // 11 — 21 февраля 2020
rudInterval(20200222, 20200222); // 22 февраля 2020