determine if a date is in daylight savings time


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.


in node:

$ npm install --dev dst
$ npm test dst

in browser: open this url


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