dayjs-parser
v1.0.1
Published
Date parsing plugin for dayjs
Downloads
411
Maintainers
Readme
dayjs-parser
The most comprehensive and accurate date parser for Node and browsers. It uses
Intl
to provide parsing support for all installed locales. This plugin
connects the capabilities of
any-date-parser to
dayjs.
It allows passing every imaginable date format to the dayjs()
function. Most
locales are supported automatically.
Table of Contents
- Motivation
- Installation
- Usage
- Breaking changes
- Recognized Formats
- Locale Support
- Sister Packages
- Unit Testing
- Contributing
- ISC License
- Changelog
Motivation
- The APIs I consume have a lot of different date formats
- I want to create REST APIs that accept all major formats
- I want to handle user-input dates
- I want to support dates in other languages according to JavaScript's new
Intl
global object
Installation
npm install dayjs dayjs-parser
Usage
Register as a regular dayjs plugin
import dayjs from 'dayjs';
import dayjsParser from 'dayjs-parser';
dayjs.extend(parserPlugin);
const date1 = dayjs('Wed Jan 19 2022 17:52:46');
const date2 = dayjs('in 2 weeks');
const date3 = dayjs('2016-03-05T23:59:59.000Z');
Breaking changes v0.x => v1.x
Dropped support for importing from dayjs-parser/dayjs
. Now you must register
dayjsParser as a plugin. Both cjs and esm now supported.
Locale Support
Locales are supported by first setting the global locale:
import dayjs from 'dayjs';
import dayjsParser from 'dayjs-parser';
dayjs.extend(parserPlugin);
dayjs.locale('fr');
const date = dayjs('15 septembre 2015');
Note that your system must have that locale installed.
See the Dayjs docs on locales
Sister Packages
- Standalone Parser: any-date-parser
- Luxon: luxon-parser
- Moment: moment-parseplus
Unit Testing
dayjs-parser
has 100% code coverage.
- To run tests, run
npm test
- To check coverage, run
npm run coverage
Unit tests require a global install of full-icu
and dayjs
. The test runner
will attempt to install these if absent.
Contributing
Contributions are welcome. Please open a GitHub ticket for bugs or feature requests. Please make a pull request for any fixes or new code you'd like to be incorporated.