fast-date-format
fast-date-format
is significantly faster than other date formatting modules.
Installation
npm install fast-date-format
Example
const DateFormat = ; const dateFormat = 'YYYYMMDD'; dateFormat;dateFormat;
Escaping
To escape characters in a format, surround the characters with square brackets.
const dateFormat = '[Month: ]MMMM'; dateFormat; // Month: December
Tokens
Supported formatting tokens:
Token | Example | Description |
---|---|---|
YYYY | 2018 |
Year |
YY | 18 |
2 Digit Year |
MMMM | January..December |
Month name |
MMM | Jan..Dec |
3 letter month name |
MM | 01..12 |
Month |
M | 1..12 |
Month |
HH | 00..23 |
Hours (24 hour time) |
H | 0..23 |
Hours (24 hour time) |
hh | 01..12 |
Hours (12 hour time) |
h | 1..12 |
Hours (12 hour time) |
kk | 01..24 |
Hours (24 hour time) |
k | 1..24 |
Hours (24 hour time) |
A | am , pm |
Post or ante meridiem |
dddd | Monday..Sunday |
Day name |
ddd | Mon..Sun |
3 letter day name |
DDDD | 001..365 |
Day of year |
DDD | 1..365 |
Day of year |
DD | 01..31 |
Day of month |
D | 1..31 |
Day of month |
E | 1..7 |
Day of week |
m | 0..59 |
Minutes |
mm | 00..59 |
Minutes |
s | 0..59 |
Seconds |
ss | 00..59 |
Seconds |
SSS | 000..999 |
Milliseconds |
ZZ | -02:00 |
Offset from UTC |
Z | -0200 |
Offset from UTC |
x | 1528643900952 |
Unix timestamp in ms |
API
DateFormat(options)
Creates a new date formatter.
options
Either a date format as a string or an object with the following properties:
dateFormat
A date format as a string.
cache (optional)
Enables caching to increase formatting speed if set to true
. Defaults to false
.
DateFormat#format([date])
Formats the date
according to the dateFormat
. If no date is passed the current date is used.
DateFormat#addLocale(language, data)
Adds translations for the names of months and weekdays.
dateFormat
Three letter abbreviations of the names are being generated from the months and weekdays.
DateFormat#setLocale(language)
Changes the locale of the DateFormat
instace to language
. Build-in languages: en
& de
.
dateFormat
Benchmark
The benchmark has been run with Node.js v10.16.3.
$ node benchmark/benchmark.jsmoment x 268,396 ops/sec ±0.87% date-format x 380,505 ops/sec ±0.42% dateformat x 99,375 ops/sec ±0.91% fast-date-format x 1,116,499 ops/sec ±0.57% fecha x 230,543 ops/sec ±0.93% speed-date x 1,083,871 ops/sec ±0.65% date-fns x 101,370 ops/sec ±1.18% Fastest is fast-date-format
With activated cache
option:
$ node benchmark/benchmarkCache.jsmoment x 356,945 ops/sec ±0.92% date-format x 404,826 ops/sec ±0.63% dateformat x 111,103 ops/sec ±1.03% fast-date-format x 2,618,465 ops/sec ±0.90% fecha x 306,050 ops/sec ±0.51% speed-date x 1,950,085 ops/sec ±0.82% date-fns x 150,776 ops/sec ±0.47% Fastest is fast-date-format