0.11.1 • Published 6 months ago

@rr0/time v0.11.1

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

@rr0/time CircleCI

Zero-dependency JavaScript API for managing fuzzy dates.

This package implements EDTF (levels 0, 1 and 2), which extended over the ISO-8601 standard to add fuzziness, and was eventually integrated in ISO 8601-2019.

By fuzziness, we mean:

  • uncertainty (?), like "maybe June 2025"
  • (im)precision (X), to express that some date has missing component(s) info
  • approximation (~), like "around June 2025"
  • both (%), like "maybe around June 2025"
EDTFISO StandardContents
Level 0 (2012)ISO-8601-1 (Basic rules)Dates, intervals, but no fuzziness
Level 1 (2016)ISO-8601-2 (Extensions)Date part fuzziness, open intervals, seasons, big years
Level 2 (2019)ISO-8601-2 (Extensions)Per-component date fuzziness, digits uncertainty, extended seasons w/ quarters, dates sets, exponential years
Level 3ISO-8601-3Seasons intervals

Accordingly, this API is split in level-specific sub-packages.

You can use Level0Date only for instance, but using Level2Date will implicitly rely on Level1Date which implicitly rely on Level0Date, as each of those standards are extending one on another.

Data types

This package supports fuzziness/no fuzziness for:

Features

Each data type can be:

  • instantiated programmatically (like new EdtfDate({year: 2024, month: 8, day: 25, uncertain: true}));
  • parsed from EDTF strings by default (like EdtfDate.fromString("2024-08-25~")), but you can use your own parser;
  • rendered in EDTF format by default (like edtfDate.toString()), but you can use your own renderer, to render in some language words for instance.

Examples

The examples below apply for both JavaScript and TypeScript.

Parsing

Dates, date components (year, month, etc.), intervals or durations can be instantiated fromString.

Programmatic API

Dates, date components (year, month, etc.), intervals or durations can be instantiated through their own constructors.

See details in the Wiki.

0.8.9

9 months ago

0.8.8

9 months ago

0.8.5

9 months ago

0.8.4

9 months ago

0.8.7

9 months ago

0.8.6

9 months ago

0.11.0

8 months ago

0.11.1

6 months ago

0.9.0

9 months ago

0.9.2

9 months ago

0.9.1

9 months ago

0.8.11

9 months ago

0.8.10

9 months ago

0.10.0

9 months ago

0.8.3

9 months ago

0.8.2

9 months ago

0.7.8

1 year ago

0.8.1

1 year ago

0.8.0

1 year ago

0.7.6

1 year ago

0.7.5

1 year ago

0.7.7

1 year ago

0.7.2

1 year ago

0.7.1

1 year ago

0.7.4

1 year ago

0.7.3

1 year ago

0.7.0

1 year ago

0.6.2

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.1

1 year ago

0.3.2

1 year ago

0.4.0

1 year ago

0.3.1

1 year ago

0.3.3

1 year ago

0.3.0

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.2

1 year ago

0.1.6

1 year ago

0.1.4

1 year ago

0.1.5

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago