This post is going to be code-free to make things easy to follow, but if you are interested in how I mined the data for this project and produced the final visualisation, you can find the code on this site’s GitHub repository.
When I was younger, every summer my family and I would pack up our bags and take some time off to holiday in Spain. I can distinctly remember being interested in (and struggling to keep track of) the difference between the time in Spain and the one back home. It seemed strange that I found it so difficult to conceptualise this idea until one day it clicked: despite having flown in a net westward direction to reach our destination, we had somehow changed timezone in an easterly manner. How strange.
When we trace back the reasoning for this timezone choice (initiated in 1940 by Franco to align the country with Nazi Germany and Fascist Italy—his political allies) and consider the modern day benefits that the country might glean from being in line with its other western European neighbours, it doesn’t seem unreasonable for things to be this way. If however, you were an alien visiting the Earth for a day lacking any historical, political or socio-economic context—it would seem like quite an odd decision.
A Project is Born
Before I knew it, this train of thought was barreling down a hill with burnt-out brakes: “Which country has a timezone that differs the furthest from where it naturally should be based on longitude alone?”.
The idea behind this is that in a perfect world (or more accurately, one where I’m in charge) timezones would be entirely dependent on the angle that a country makes with the prime meridian (the imaginary line passing through the Greenwich Royal Observatory). This would leave the UK with its current timezone of UTC+0 and then roughly one hour would be added for each 15 degrees traveled east and subtracted for west. Each country would then choose whichever timezone best matched up with its position.
Obviously such an approach would be impractical. It takes into account no ethnic divisions, political allegiances, or many other important factors. Furthermore, it’s not clear how such a system would handle large (or to be exact, wide) countries. It would be ridiculous for a goliath such as Russia to share one common timezone. Despite these clear issues, I’m a mathematician and this is my hypothetical world, so tough luck.
With that aside, it begs the question of which countries’ timezones would differ the most between the real world and my mathematically-pristine formulation. I decided to find out just that by scraping both timezone and longitudinal data from Wikipedia. The data represents all recognised countries for which their Wikipedia listings contained the information I required (which was most, but not all).
To simplify things slightly, I decided only to look at the capital city of each country and the timezone that it resides in. This way I didn’t have to worry about the calculus of averaging population/land mass or looking at multiple timezones for one country. On top of this, I ignored daylight savings time, although this is probably for the best as it would skew large deviations of timezone towards countries which lie farther from the equator.
After performing the analysis, the twenty capitals whose timezone differed the most from my theoretical choice were as follows.
There you have it. The worse offending capital city is Rabat, Morocco with a whopping 1 hour 33 minute difference from what would be expected in a purely longitudinal system. The reason for this is that ever since 2018, Morocco has switched to permanently observing daylight saving time making UTC+1 its standard time despite virtually all of the country’s landmass being farther west than even Plymouth.
As my younger self would have expected, Spain’s Madrid comes out in a close second, 1 hour 15 minutes ahead off what would be expected. Even after these, there are still many countries with real-world timezones differing significantly from where they mathematically should align.
The really interesting observation is that every single one of these twenty worst offenders is ahead of its longitudinal timezone. I thought at first that this might have been a bug in my code and all differences had been converted to being positive. It turns out that this is not the case; there are capitals which fall behind their expected timezone. The five worse of those are shown below.
These differences are noticeably smaller. My best guess is that most timezones are ahead of where they should be for the same reason that daylight saving exists—to offer more light in the morning. A colleague of mine suggested instead that it may be to do with the location of capital cities—do these tend to be more easterly? If you have any other suggestions please do let me know. For now, I will leave you with the finalised dataset to have a look through to find whichever country you fancy.
capital | country | longitude | timezone | expected_timezone | timezone_diff |
---|---|---|---|---|---|
<chr> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> |
Abu Dhabi | United Arab Emirates | 54.367000 | 4.00 | 3.62446667 | 0.375533333 |
Abuja | Nigeria | 7.483000 | 1.00 | 0.49886667 | 0.501133333 |
Accra | Ghana | -0.200000 | 0.00 | -0.01333333 | 0.013333333 |
Addis Ababa | Ethiopia | 38.740000 | 3.00 | 2.58266667 | 0.417333333 |
Algiers | Algeria | 3.058890 | 1.00 | 0.20392600 | 0.796074000 |
Amman | Jordan | 35.932780 | 2.00 | 2.39551867 | -0.395518667 |
Amsterdam | Netherlands | 4.900000 | 1.00 | 0.32666667 | 0.673333333 |
Ankara | Turkey | 32.867000 | 3.00 | 2.19113333 | 0.808866667 |
Antananarivo | Madagascar | 47.517000 | 3.00 | 3.16780000 | -0.167800000 |
Apia | Samoa | -171.750000 | 13.00 | -11.45000000 | 0.450000000 |
Ashgabat | Turkmenistan | 58.367000 | 5.00 | 3.89113333 | 1.108866667 |
Asmara | Eritrea | 38.925000 | 3.00 | 2.59500000 | 0.405000000 |
Athens | Greece | 23.727806 | 2.00 | 1.58185373 | 0.418146267 |
Baghdad | Iraq | 44.383000 | 3.00 | 2.95886667 | 0.041133333 |
Baku | Azerbaijan | 49.882220 | 4.00 | 3.32548133 | 0.674518667 |
Bamako | Mali | -8.002780 | 0.00 | -0.53351867 | 0.533518667 |
Bandar Seri Begawan | Brunei | 114.942220 | 8.00 | 7.66281467 | 0.337185333 |
Bangkok | Thailand | 100.494170 | 7.00 | 6.69961133 | 0.300388667 |
Banjul | Gambia | -16.577500 | 0.00 | -1.10516667 | 1.105166667 |
Basseterre | Saint Kitts and Nevis | -62.733000 | -4.00 | -4.18220000 | 0.182200000 |
Beijing | China | 116.383000 | 8.00 | 7.75886667 | 0.241133333 |
Beirut | Lebanon | 35.513060 | 2.00 | 2.36753733 | -0.367537333 |
Belgrade | Serbia | 20.467000 | 1.00 | 1.36446667 | -0.364466667 |
Belmopan | Belize | -88.766940 | -6.00 | -5.91779600 | -0.082204000 |
Berlin | Germany | 13.405000 | 1.00 | 0.89366667 | 0.106333333 |
Bishkek | Kyrgyzstan | 74.612220 | 6.00 | 4.97414800 | 1.025852000 |
Bogotá | Colombia | -74.072220 | -5.00 | -4.93814800 | -0.061852000 |
Brasília | Brazil | -47.882780 | -3.00 | -3.19218533 | 0.192185333 |
Bratislava | Slovakia | 17.109720 | 1.00 | 1.14064800 | -0.140648000 |
Bridgetown | Barbados | -59.616670 | -4.00 | -3.97444467 | -0.025555333 |
Bucharest | Romania | 26.103890 | 2.00 | 1.74025933 | 0.259740667 |
Budapest | Hungary | 19.051390 | 1.00 | 1.27009267 | -0.270092667 |
Buenos Aires | Argentina | -58.381670 | -3.00 | -3.89211133 | 0.892111333 |
Cairo | Egypt | 31.233000 | 2.00 | 2.08220000 | -0.082200000 |
Caracas | Venezuela | -66.903610 | -4.00 | -4.46024067 | 0.460240667 |
Castries | Saint Lucia | -60.983000 | -4.00 | -4.06553333 | 0.065533333 |
Chi<U+0219>inau | Moldova | 28.835335 | 2.00 | 1.92235567 | 0.077644333 |
Conakry | Guinea | -13.712220 | 0.00 | -0.91414800 | 0.914148000 |
Copenhagen | Denmark | 12.568330 | 1.00 | 0.83788867 | 0.162111333 |
Dakar | Senegal | -17.446670 | 0.00 | -1.16311133 | 1.163111333 |
Damascus | Syria | 36.291940 | 2.00 | 2.41946267 | -0.419462667 |
Dhaka | Bangladesh | 90.388890 | 6.00 | 6.02592600 | -0.025926000 |
Dili | East Timor | 125.567000 | 9.00 | 8.37113333 | 0.628866667 |
Djibouti | Djibouti | 43.145000 | 3.00 | 2.87633333 | 0.123666667 |
Dodoma | Tanzania | 35.741940 | 3.00 | 2.38279600 | 0.617204000 |
Doha | Qatar | 51.533330 | 3.00 | 3.43555533 | -0.435555333 |
Dublin | Ireland | -6.267000 | 0.00 | -0.41780000 | 0.417800000 |
Dushanbe | Tajikistan | 68.780000 | 5.00 | 4.58533333 | 0.414666667 |
Gaborone | Botswana | 25.912220 | 2.00 | 1.72748133 | 0.272518667 |
Georgetown | Guyana | -58.155280 | -4.00 | -3.87701867 | -0.122981333 |
Guatemala City | Guatemala | -90.535280 | -6.00 | -6.03568533 | 0.035685333 |
Hanoi | Vietnam | 105.854170 | 7.00 | 7.05694467 | -0.056944667 |
Harare | Zimbabwe | 31.052220 | 2.00 | 2.07014800 | -0.070148000 |
Havana | Cuba | -82.358890 | -5.00 | -5.49059267 | 0.490592667 |
Helsinki | Finland | 24.937500 | 2.00 | 1.66250000 | 0.337500000 |
Honiara | Solomon Islands | 159.955560 | 11.00 | 10.66370400 | 0.336296000 |
Islamabad | Pakistan | 73.063890 | 5.00 | 4.87092600 | 0.129074000 |
Jakarta | Indonesia | 106.817000 | 7.00 | 7.12113333 | -0.121133333 |
Jerusalem | Israel | 35.217000 | 2.00 | 2.34780000 | -0.347800000 |
Jerusalem | Palestine | 35.217000 | 2.00 | 2.34780000 | -0.347800000 |
Juba | South Sudan | 31.600000 | 3.00 | 2.10666667 | 0.893333333 |
Kabul | Afghanistan | 69.178330 | 4.50 | 4.61188867 | -0.111888667 |
Kampala | Uganda | 32.581110 | 3.00 | 2.17207400 | 0.827926000 |
Kathmandu | Nepal | 85.267000 | 5.75 | 5.68446667 | 0.065533333 |
Khartoum | Sudan | 32.560000 | 2.00 | 2.17066667 | -0.170666667 |
Kiev | Ukraine | 30.523330 | 2.00 | 2.03488867 | -0.034888667 |
Kigali | Rwanda | 30.059440 | 2.00 | 2.00396267 | -0.003962667 |
Kingston | Jamaica | -76.793060 | -5.00 | -5.11953733 | 0.119537333 |
Kingstown | Saint Vincent and the Grenadines | -61.225000 | -4.00 | -4.08166667 | 0.081666667 |
Kuala Lumpur | Malaysia | 101.695280 | 8.00 | 6.77968533 | 1.220314667 |
Kuwait City | Kuwait | 47.978330 | 3.00 | 3.19855533 | -0.198555333 |
Lilongwe | Malawi | 33.783000 | 2.00 | 2.25220000 | -0.252200000 |
Lima | Peru | -77.033000 | -5.00 | -5.13553333 | 0.135533333 |
Lisbon | Portugal | -9.150019 | 0.00 | -0.61000129 | 0.610001287 |
Ljubljana | Slovenia | 14.508330 | 1.00 | 0.96722200 | 0.032778000 |
Lomé | Togo | 1.222780 | 0.00 | 0.08151867 | -0.081518667 |
London | United Kingdom | -0.127500 | 0.00 | -0.00850000 | 0.008500000 |
Lusaka | Zambia | 28.283000 | 2.00 | 1.88553333 | 0.114466667 |
Luxembourg | Luxembourg | 6.131940 | 1.00 | 0.40879600 | 0.591204000 |
Madrid | Spain | -3.717000 | 1.00 | -0.24780000 | 1.247800000 |
Majuro | Marshall Islands | 171.383000 | 12.00 | 11.42553333 | 0.574466667 |
Malabo | Equatorial Guinea | 8.783000 | 1.00 | 0.58553333 | 0.414466667 |
Malé | Maldives | 73.508890 | 5.00 | 4.90059267 | 0.099407333 |
Managua | Nicaragua | -86.251390 | -6.00 | -5.75009267 | -0.249907333 |
Manila | Philippines | 120.977200 | 8.00 | 8.06514667 | -0.065146667 |
Maputo | Mozambique | 32.583000 | 2.00 | 2.17220000 | -0.172200000 |
Maseru | Lesotho | 27.480000 | 2.00 | 1.83200000 | 0.168000000 |
Mexico City | Mexico | -99.133000 | -6.00 | -6.60886667 | 0.608866667 |
Minsk | Belarus | 27.567000 | 3.00 | 1.83780000 | 1.162200000 |
Mogadishu | Somalia | 45.333000 | 3.00 | 3.02220000 | -0.022200000 |
Monaco | Monaco | 7.417000 | 1.00 | 0.49446667 | 0.505533333 |
Monrovia | Liberia | -10.801390 | 0.00 | -0.72009267 | 0.720092667 |
Montevideo | Uruguay | -56.181940 | -3.00 | -3.74546267 | 0.745462667 |
Moroni | Comoros | 43.256000 | 3.00 | 2.88373333 | 0.116266667 |
Moscow | Russia | 37.617000 | 3.00 | 2.50780000 | 0.492200000 |
Muscat | Oman | 58.408330 | 4.00 | 3.89388867 | 0.106111333 |
Nairobi | Kenya | 36.817220 | 3.00 | 2.45448133 | 0.545518667 |
Nassau | Bahamas | -77.345000 | -5.00 | -5.15633333 | 0.156333333 |
Naypyidaw | Myanmar | 96.100000 | 6.50 | 6.40666667 | 0.093333333 |
New Delhi | India | 77.208890 | 5.50 | 5.14725933 | 0.352740667 |
Ngerulmud | Palau | 134.624170 | 9.00 | 8.97494467 | 0.025055333 |
Niamey | Niger | 2.125280 | 1.00 | 0.14168533 | 0.858314667 |
Nicosia | Cyprus | 33.365000 | 2.00 | 2.22433333 | -0.224333333 |
Nuku<U+02BB>alofa | Tonga | -175.200000 | 13.00 | -11.68000000 | 0.680000000 |
Nur-Sultan | Kazakhstan | 71.433000 | 6.00 | 4.76220000 | 1.237800000 |
Oslo | Norway | 10.733330 | 1.00 | 0.71555533 | 0.284444667 |
Ottawa | Canada | -75.695000 | -5.00 | -5.04633333 | 0.046333333 |
Ouagadougou | Burkina Faso | -1.535280 | 0.00 | -0.10235200 | 0.102352000 |
Palikir | Federated States of Micronesia | 158.158890 | 11.00 | 10.54392600 | 0.456074000 |
Paramaribo | Suriname | -55.203890 | -3.00 | -3.68025933 | 0.680259333 |
Paris | France | 2.352222 | 1.00 | 0.15681480 | 0.843185200 |
Phnom Penh | Cambodia | 104.921110 | 7.00 | 6.99474067 | 0.005259333 |
Podgorica | Montenegro | 19.262892 | 1.00 | 1.28419278 | -0.284192780 |
Port Louis | Mauritius | 57.504170 | 4.00 | 3.83361133 | 0.166388667 |
Port Moresby | Papua New Guinea | 147.149440 | 10.00 | 9.80996267 | 0.190037333 |
Port Vila | Vanuatu | 168.317000 | 11.00 | 11.22113333 | -0.221133333 |
Port-au-Prince | Haiti | -72.333000 | -5.00 | -4.82220000 | -0.177800000 |
Port of Spain | Trinidad and Tobago | -61.517000 | -4.00 | -4.10113333 | 0.101133333 |
Prague | Czech Republic | 14.417000 | 1.00 | 0.96113333 | 0.038866667 |
Pretoria | South Africa | 28.188060 | 2.00 | 1.87920400 | 0.120796000 |
Pyongyang | North Korea | 125.738060 | 9.00 | 8.38253733 | 0.617462667 |
Quito | Ecuador | -78.517000 | -5.00 | -5.23446667 | 0.234466667 |
Rabat | Morocco | -6.841650 | 1.00 | -0.45611000 | 1.456110000 |
Riga | Latvia | 24.106390 | 2.00 | 1.60709267 | 0.392907333 |
Riyadh | Saudi Arabia | 46.717000 | 3.00 | 3.11446667 | -0.114466667 |
Rome | Italy | 12.500000 | 1.00 | 0.83333333 | 0.166666667 |
San José | Costa Rica | -84.083000 | -6.00 | -5.60553333 | -0.394466667 |
San Marino | San Marino | 12.447300 | 1.00 | 0.82982000 | 0.170180000 |
San Salvador | El Salvador | -89.191390 | -6.00 | -5.94609267 | -0.053907333 |
Sana'a | Yemen | 44.206390 | 3.00 | 2.94709267 | 0.052907333 |
Santiago | Chile | -70.667000 | -4.00 | -4.71113333 | 0.711133333 |
São Tomé | São Tomé and Príncipe | 6.730560 | 0.00 | 0.44870400 | -0.448704000 |
Sarajevo | Bosnia and Herzegovina | 18.417000 | 1.00 | 1.22780000 | -0.227800000 |
Singapore | Singapore | 103.833000 | 8.00 | 6.92220000 | 1.077800000 |
Skopje | North Macedonia | 21.433000 | 1.00 | 1.42886667 | -0.428866667 |
Sofia | Bulgaria | 23.330000 | 2.00 | 1.55533333 | 0.444666667 |
Sri Jayawardenepura Kotte | Sri Lanka | 79.887836 | 5.50 | 5.32585574 | 0.174144260 |
St. George's | Grenada | -61.750000 | -4.00 | -4.11666667 | 0.116666667 |
St. John's | Antigua and Barbuda | -61.850000 | -4.00 | -4.12333333 | 0.123333333 |
Stockholm | Sweden | 18.068610 | 1.00 | 1.20457400 | -0.204574000 |
Sucre | Bolivia | -65.250000 | -4.00 | -4.35000000 | 0.350000000 |
Suva | Fiji | 178.441900 | 12.00 | 11.89612667 | 0.103873333 |
Tallinn | Estonia | 24.745280 | 2.00 | 1.64968533 | 0.350314667 |
Tashkent | Uzbekistan | 69.267000 | 5.00 | 4.61780000 | 0.382200000 |
Tbilisi | Georgia | 44.783000 | 4.00 | 2.98553333 | 1.014466667 |
Tegucigalpa | Honduras | -87.217000 | -6.00 | -5.81446667 | -0.185533333 |
Tehran | Iran | 51.388890 | 3.50 | 3.42592600 | 0.074074000 |
Thimphu | Bhutan | 89.636110 | 6.00 | 5.97574067 | 0.024259333 |
Tokyo | Japan | 139.692220 | 9.00 | 9.31281467 | -0.312814667 |
Tripoli | Libya | 13.191390 | 2.00 | 0.87942600 | 1.120574000 |
Tunis | Tunisia | 10.181670 | 1.00 | 0.67877800 | 0.321222000 |
Ulaanbaatar | Mongolia | 106.917220 | 8.00 | 7.12781467 | 0.872185333 |
Vaduz | Liechtenstein | 9.521000 | 1.00 | 0.63473333 | 0.365266667 |
Valletta | Malta | 14.506940 | 1.00 | 0.96712933 | 0.032870667 |
Vatican City | Vatican City | 12.452500 | 1.00 | 0.83016667 | 0.169833333 |
Vienna | Austria | 16.367000 | 1.00 | 1.09113333 | -0.091133333 |
Vientiane | Laos | 102.600000 | 7.00 | 6.84000000 | 0.160000000 |
Vilnius | Lithuania | 25.283000 | 2.00 | 1.68553333 | 0.314466667 |
Warsaw | Poland | 21.017000 | 1.00 | 1.40113333 | -0.401133333 |
Washington, D.C. | United States | -77.016390 | -5.00 | -5.13442600 | 0.134426000 |
Wellington | New Zealand | 174.777220 | 12.00 | 11.65181467 | 0.348185333 |
Windhoek | Namibia | 17.083610 | 2.00 | 1.13890733 | 0.861092667 |
Yamoussoukro | Ivory Coast | -5.283000 | 0.00 | -0.35220000 | 0.352200000 |
Yaoundé | Cameroon | 11.517000 | 1.00 | 0.76780000 | 0.232200000 |
Yaren | Nauru | 166.920867 | 12.00 | 11.12805778 | 0.871942220 |
Yerevan | Armenia | 44.514440 | 4.00 | 2.96762933 | 1.032370667 |
Zagreb | Croatia | 15.983000 | 1.00 | 1.06553333 | -0.065533333 |