2017-11-27
2162
#vanilla javascript
Christian Nwamba
1821
Nov 27, 2017 ⋅ 7 min read

Detect location and local time zone of users in JavaScript

Christian Nwamba JS preacher. Developer 🥑. Building the web with the community @concatenateConf @forLoopAfrica. JS and Senior Advocacy for the Next Billion Users through Microsoft.

Recent posts:

Frontend Devs Aren't Lazy, They're Burnt Out

Frontend developers are burned out, not lazy

Shipping modern frontends is harder than it looks. Learn the hidden taxes of today’s stacks and practical ways to reduce churn and avoid burnout.

Shalitha Suranga
Sep 15, 2025 ⋅ 4 min read

Can native web APIs replace custom components in 2025?

Learn how native web APIs such as dialog, details, and Popover bring accessibility, performance, and simplicity without custom components.

Daniel Schwarz
Sep 12, 2025 ⋅ 9 min read
too many tools: How to manage frontend tool overload

Too many tools: How to manage frontend tool overload

Read about how the growth of frontend development created so many tools, and how to manage tool overload within your team.

Shalitha Suranga
Sep 11, 2025 ⋅ 12 min read
shruti kapoor the modern ai stack

What you actually need to build and ship AI-powered apps in 2025

Discover what you actually need to build and ship AI-powered apps in 2025, with tips for which tools to choose and how to implement them.

Shruti Kapoor
Sep 10, 2025 ⋅ 10 min read
View all posts

5 Replies to "Detect location and local time zone of users in JavaScript"

  1. thank you for the post! Just realised that you mixed up longitude and latitude in the reverseGeocodingWithGoogle function 😉

  2. Interesting post! I have one query related to DST. Is there any way in Javascript which will give us user’s tzid and tz long name based on tz database used in Joda library? These tzids are widely used universally and are defined by IANA database. Java’s Joda Library also use the same tz database.

    Joda library gives different DST data (not shown below) for same offset i.e. +04:00…like as below:

    (+04:00) Europe/Ulyanovsk, Greenwich Mean Time
    (+04:00) Europe/Volgograd, Moscow Standard Time
    (+04:00) Indian/Mahe, Seychelles Time
    (+04:00) Indian/Mauritius, Mauritius Time
    (+04:00) Indian/Reunion, Reunion Time

    we have to apply those DST rules while sending icalendar file (ICS files) to users. Users are located at different regions.

    if user’s timezone detected by JS is “+04:00 with some country”, then how can we decide which DST rule out of several should be applied? Because I dont have any country to region mapping.

Leave a Reply