npm install tz-lookup
var tzlookup = require("tz-lookup"); console.log(tzlookup(42.7235, -73.6931)); // prints "America/New_York"
<script src="tz.js"></script> <script> alert(tzlookup(42.7235, -73.6931)); // alerts "America/New_York" </script>
Please take note of the following:
The exported function call will throw an error if the latitude or longitude provided are NaN or out of bounds. Otherwise, it will never throw an error and will always return an IANA timezone database string. (Barring bugs.)
The timezones returned by this module are approximate: since the timezone database is so large, lossy compression is necessary for a small footprint and fast lookups. Expect errors near timezone borders far away from populated areas. However, for most use-cases, this module's accuracy should be adequate.
If you find a real-world case where this module's accuracy is inadequate, please open an issue (or, better yet, submit a pull request with a failing test) and I'll see what I can do to increase the accuracy for you.
Versions prior to 6.0.7 used timezone data from Eric Muller's excellent TZ
timezone maps. As of 6.0.7, we now use timezone data from @evansiroky's
also-excellent timezone-boundary-builder. To regenerate the library,
rebuild.sh. The timezone database was last updated on 11 Apr 2018.
To the extent possible by law, The Dark Sky Company, LLC has waived all copyright and related or neighboring rights to this library.