1.0.5 • Published 3 years ago

rud v1.0.5

Weekly downloads
9
License
MIT
Repository
github
Last release
3 years ago

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
1.0.5

3 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago