0.0.12 • Published 3 months ago

little-date v0.0.12

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Introduction

When displaying date-ranges in UI, they are often too long and hard to read. This library tries to solve that problem.

little-date is a date-formatting library, based on date-fns. It aims to make date ranges short, readable and easy to understand.

It supports localization and can be used in both Node.js and the browser.

Examples dates ✨

  • Jan 1 - 12
  • Jan 3 - Apr 20
  • January 2023
  • Q1 2023

Wasn't that easy to read? You can find a full list of formatting examples here.

Usage

import { formatDateRange } from "little-date";

const from = new Date("2023-01-01T00:00:00.000Z");
const to = new Date("2023-01-12T23:59:59.999Z");

formatDateRange(from, to); // Outputs: "Jan 1 - 12"

Installation

With pnpm

pnpm i little-date

With NPM

npm i little-date

Formatting Examples

DescriptionOutput
Multiple days, same monthJan 1 - 12
Multiple days, different monthsJan 3 - Apr 20
Full daySun, Jan 1
Range spanning different yearsJan 1 '22 - Jan 20 '23
Multiple days, same month, different yearJan 1 - 12, 2022
Full day, different yearSat, Jan 1, 2022
Special cases
Full year2023
Quarter rangeQ1 2023
Full monthJanuary 2023
Full monthsJan - Feb 2023
With time
Today, different hours12am - 2:30pm
Same day, different hoursJan 1, 12:11am - 2:30pm
Same day, different hours, 24-hour formatJan 1, 0:11 - 14:30
Hour difference within a dayJan 1, 12pm - 12:59pm
Different days with time includedJan 1, 12:11am - Jan 2, 2:30pm
Different years with timeJan 1 '22, 12:11am - Jan 2 '23, 2:30pm
Different years, no timeJan 1 '22 - Jan 2 '23

Advanced Options

Most of of the formatting behavior is opinionated and can't be changed. However, there are some options that can be used to customize the output.

import { formatDateRange } from "little-date";

// ...

formatDateRange(from, to, {
  locale: "de-AT", // Overwrite the default locale
  includeTime: false, // Prevent time from being displayed
  today: new Date(), // Overwrite the default "today" date, useful for testing
  separator: "-", // Overwrite the default separator. E.g. from "Jan 1 - 12" to "Jan 1 to 12"
});

Contribute

We welcome contributions! If you'd like to improve little-date or have any feedback, feel free to open an issue or submit a pull request.

License

MIT

0.0.12

3 months ago

0.0.11

4 months ago

0.0.9

6 months ago

0.0.8

6 months ago

0.0.7

6 months ago

0.0.6

6 months ago

0.0.5

6 months ago

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago