UTC now:
—
capital
major city
longitude-skewed (politically displaced)
Cities by current UTC offset
| Offset | City | Local time | IANA zone | Skew vs. longitude | DST? |
|---|
About
The implementation hinge: timezones aren't determined by longitude. 15° of longitude equals one hour of solar time, so a perfect-natural map would have 24 vertical bands. The actual map is uglier:
- China spans what should be 5 timezones (GMT+5 to +9) but is administratively a single zone (
Asia/Shanghai= +08:00). Ürümqi shows this — pinned to +8 despite being at 87.6°E (natural ~+5:50). - India (
Asia/Kolkata= +05:30) and Sri Lanka use half-hour offsets, set after partition in 1947. - Nepal (
Asia/Kathmandu= +05:45) and Chatham Islands NZ (Pacific/Chatham= +12:45) use 15-minute offsets. - Iran (
Asia/Tehran= +03:30), Afghanistan (Asia/Kabul= +04:30), Myanmar (Asia/Yangon= +06:30), Newfoundland (America/St_Johns= -03:30 standard) are all half-hour zones. - Madrid sits geographically on the meridian of London but politically is on Central European Time (+01:00) — a relic of WWII alignment with Germany.
- DST is country-by-country and being phased out: Russia ditched it in 2014, Mexico in 2022, Egypt reinstated it in 2023.
Built with vanilla JavaScript using Intl.DateTimeFormat with the
timeZoneName: "longOffset" option — the modern way to get exact UTC
offsets for any IANA zone. No date library needed.