Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Library for detecting user's timezone or finding timezone name by provided offset.

License

Notifications You must be signed in to change notification settings

yury-dymov/tzname

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tzname

npm version Downloads Build Status Coverage Status

Library for detecting user's timezone or finding timezone name by provided offset.

Installation

npm i --save tzname

Usage

detectTimezone()

Function detects user's timezone and returns timezone name in TZ format (i.e. 'Europe/Moscow')

getTimezoneNameByOffset(offset)

Function takes timezone UTC offset and returns timezone name in TZ format.

You can provide offset as either number or string in hours, minutes of milliseconds.

getTimezoneNameByOffset(3) === getTimezoneNameByOffset(180) === getTimezoneNameByOffset(10800000) === "Asia/Baghdad"
getTimezoneNameByOffset("3") === getTimezoneNameByOffset("180") === getTimezoneNameByOffset("10800000") === "Asia/Baghdad"

Common usage

const timezoneOffset = -(new Date().getTimezoneOffset());
const timezoneName   = getTimezoneNameByOffset(timezoneOffset);

Note: don't forget that JavaScript Date.getTimezoneOffset() returns negative offset value. I.e. for Moscow (GMT+3) it returns '-180'. To deal with that it is important to put 'minus' sign in front of the method call.

Example

import { detectTimezone, getTimezoneNameByOffset } from 'tzname';

const currentTimeZone = detectTimezone();

console.log(currentTimeZone); // -> i.e. "America/Phoenix"

const timezoneName = getTimezoneNameByOffset(3);

console.log(timezoneName); // -> "Asia/Baghdad"

Note

Tzname library is designed to work with libraries like intl.FormattedDate and react-intl. Both require timezone name instead of offset. For this use case there is no difference between "Asia/Baghdad" and "Europe/Moscow" as both have the same GMT+3 offset. However, if you would like to get more precise timezone and use GeoIP for that than this library is not a proper choice.

About

Library for detecting user's timezone or finding timezone name by provided offset.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published