@phensley/timezone
TypeScript icon, indicating that this package has built-in type declarations

1.13.1 • Public • Published

@phensley/timezone

@phensley/timezone min+gzip

Compact timezone library provides the full range of tzdb data. https://data.iana.org/time-zones/tz-link.html

Installation

NPM:

npm install --save @phensley/timezone

Yarn:

yarn add @phensley/timezone

Examples

Resolve old timezone ids that are deprecated.

import { TZ } from '@phensley/timezone';

const id = TZ.resolveId('Pacific/Samoa');
console.log(id);
Pacific/Pago_Pago

Lookup the zone info for a timezone id at a given UTC time.

Timezone offsets are in milliseconds.

const ZONES = [
  'UTC',
  'Pacific/Samoa',
  'America/New_York',
  'Pacific/Pago_Pago',
  'Asia/Tokyo',
  'Europe/Paris',
];

const now = new Date(2020, 2, 18, 12, 30, 0).getTime();
for (const zoneid of ZONES) {
  const info = TZ.fromUTC(zoneid, now);
  console.log(`${zoneid.padEnd(18)} -> ${JSON.stringify(info)}`);
}
UTC                -> {"abbr":"UTC","dst":0,"offset":0,"zoneid":"Etc/UTC"}
Pacific/Samoa      -> {"abbr":"SST","dst":0,"offset":-39600000,"zoneid":"Pacific/Pago_Pago"}
America/New_York   -> {"abbr":"EDT","dst":1,"offset":-14400000,"zoneid":"America/New_York"}
Pacific/Pago_Pago  -> {"abbr":"SST","dst":0,"offset":-39600000,"zoneid":"Pacific/Pago_Pago"}
Asia/Tokyo         -> {"abbr":"JST","dst":0,"offset":32400000,"zoneid":"Asia/Tokyo"}
Europe/Paris       -> {"abbr":"CET","dst":0,"offset":3600000,"zoneid":"Europe/Paris"}

Lookup the zone info for a timezone id and a local "wall clock" timestamp.

Returns the corresponding UTC timestamp along with a zone info record.

// Sun Mar  8 2020 02:10:00 AM NY time
const epoch = 1583633400000;
const zoneid = 'America/New_York';
const [utc, info] = TZ.fromUTC(zoneid, now)!;
console.log(utc);
console.log(JSON.stringify(info));
1583651400000
{"abbr":"EDT","dst":1,"offset":-14400000,"zoneid":"America/New_York"}

Readme

Keywords

none

Package Sidebar

Install

npm i @phensley/timezone

Weekly Downloads

710

Version

1.13.1

License

Apache-2.0

Unpacked Size

619 kB

Total Files

21

Last publish

Collaborators

  • phensley