timezoned-date

v3.0.2
Constructors and objects behave exactly like built-in Date; the TZ offset is configurable
date isomorphic jsdom mock monkeypatch server-side-rendering timezone tz utc and 1 more...

timezoned-date Build Status npm

Constructors and objects behave exactly like built-in Date; the TZ offset is configurable

Tested against Test262 for the compatibility with Date.

No support for daylight saving time. Fixed offsets only.

Install

$ npm install --save timezoned-date

Usage

const timezonedDate = require('timezoned-date');
console.log(new Date());
// Sat Sep 19 2017 02:39:56 GMT+0300 (Ixania Daylight Time)
const UtcDate = timezonedDate.makeConstructor(0);
console.log(new UtcDate());
// Fri Sep 18 2017 23:39:56 GMT+0000 (UTC)
global.Date = timezonedDate.makeConstructor(240); // minutes
console.log(new Date());
// Sat Sep 19 2017 03:39:56 GMT+0400

An example of using it with jsdom:

const dom = new JSDOM(`<p>Hello</p>`, {
  beforeParse(window) {
    window.Date = timezonedDate.makeConstructor(240);
  }
});

API

makeConstructor(offsetInMinutes)

Returns a constructor function compatible with Date bound to the specified offset.

License

Apache 2.0 © 2013-2017 James A. Rosen, Georgii Dolzhykov

npm i timezoned-date

Metadata

Downloads

Maintainers