quartz-date-formatters v1.0.1
Quartz date formatters
A bunch of settings and functions for creating date formats in Quartz style.
Installation
npm install quartz-date-formatters --save
Tests/development
npm start (run tests and watch for changes)
npm test (run tests)
Usage
import { dateFormatters } from 'quartz-date-formatters';
let dateJan1 = new Date(1982, 0, 1);
dateFormatters.lmdy(dateJan1) // 1/1/82
dateFormatters.Mdd(dateJan1) // Jan. 1
dateFormatters.Mdd(dateJan1) // Jan. 1
dateFormatters.Q(dateJan1) // 1982
dateFormatters.Q(dateJan1, 7) // "Q3" (7 is used to set quarter start month)
There are many more examples of usage in the tests.
Explanation
This library exposes two very similar objects:
import { dateFormats, dateFormatters } from 'quartz-date-formatters';
Each object is a key/value mapping of our own custom date format types (see a list of them below).
The values in dateFormats
are either of type String
or Function
. The String
s are valid d3-time-format strings, that is to say, you can pass them directly to d3-time-format
to create a formatter function.
The Function
s are custom date formatters that have the type signature:
(Javascript Date) -> String
The dateFormatters
object exposes all formatter functions of that type signature, processing dateFormats
and passing the d3 formatter strings to d3-time-format
. They are only separate in case you need to pass the formatter string around (as we need to do in Atlas JSON, as JSON does not support functions).
Docs
Available formats:
dateFormatters.lmdy(date)
dateFormatters.mmdd(date)
dateFormatters.Mdd(date)
dateFormatters.M1d(date)
dateFormatters.ddM(date)
dateFormatters.mmyy(date)
dateFormatters.yy(date)
dateFormatters.yyyy(date)
dateFormatters.MM(date)
dateFormatters.M(date)
dateFormatters.h(date)
dateFormatters.hmm(date)
dateFormatters.Q(date)
Sample output for all formatters can be seen in the tests.