See Timezone package in npm. It has everything needed built in and is pure JS and seems to be the best timezone handling library available.
var tz = require('timezone/loaded'),
equal = require('assert').equal,
// Get POSIX time in UTC.
utc = tz('2012-01-01');
// Convert UTC time to local time in a localize language.
equal(tz(utc, '%c', 'fr_FR', 'America/Montreal'),
'sam. 31 d√©c. 2011 19:00:00 EST');
- Timezone uses the IANA Database to determine the correct wall clock time anywhere in the world for any time since the dawn of standardized time.
- Timezone formats dates with a full implementation of strftime formats, including the GNU date extensions.
- Timezone represents time in POSIX time and local time using RFC 3999 date strings.