dst

determine if a date is in daylight savings time

dst.js

Is it daylight savings time?

Designed for use in node as well as in-browser.

Returns true if the date is during daylight savings time.

Available either directly via require or on the window object, is_dst is the function underlying the prototype method.

It accepts an additional thresholds argument, which should take the following form:

{
    "spring_forward":<integer offset from beginning of year in milliseconds>,
    "fall_back":<integer offset from beginning of year in milliseconds>,
}

spring_forward need not be before fall_back -- in fact, in 50% of earthly hemispheres, it's just the opposite situation.

further, in other saner lands, there may be no thresholds to cross -- that is, there are happy, productive human beings that somehow survive without DST. in that case, both fields may be set to 0.

Splits the year in two halves, and attempts to check at which point in the hemi-year Date#getTimezoneOffset changes values. Run once during the execution of the program. Uses a binary search -- cuts out at the granularity of one second.

May be used to provide valid thresholds to pass into is_dst, if so desired.

testing

in node:

 
$ npm install --dev dst
$ npm test dst
 

in browser: open this url

or:

 
$ git clone git@github.com:chrisdickinson/dst.js.git
$ cd dst.js
$ python -m SimpleHTTPServer
$ open http://localhost:8000/test/
 

LICENSE

MIT