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
- 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(dayjsParser);
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(dayjsParser);
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
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.