Methodology
What every number on this site is derived from, how it is calculated, and where our data is not good enough to support a claim.
Every figure on this site is either read from a named public dataset or calculated by us from one, and the calculation is run by code at build time rather than typed by hand. Where a number is a median, we say median. Where two places tie, we say they tie. Where our own data is not good enough to support a claim, we leave the claim out and say why on the page instead of publishing a number we cannot stand behind.
Each page carries a publication date and a last-checked date. Both are real: the last-checked date changes only when the page is regenerated against the data.
| Figure | Source | Refresh | What we calculate from it |
|---|---|---|---|
| Local time and UTC offsets | IANA Time Zone Database | With each tzdata release | Offsets, gaps, daylight-saving transition dates, working-hour overlap |
| Cost of living | Compiled by us from public cost indices and community reports | Reviewed periodically | One-person monthly total in USD; regional medians; cost gaps within a country |
| City scores (internet, safety, air quality, walkability, overall) | Compiled by us from public data and recurring community feedback | Reviewed periodically | Comparative 0–5 ratings; medians and rankings across all 500 cities |
| Weather and air quality | Open-Meteo | Live, on page load | Nothing — displayed as fetched |
| Exchange rates | ExchangeRate-API | Live, on page load | Nothing — displayed as fetched |
| Internet speed | Ookla open dataset (median measured) | Quarterly | Feeds the internet score |
| Economic indicators | World Bank | Annual | Nothing — displayed as published |
| Public holiday dates | Computed from each country's own holiday law by the python-holidays 0.102 library | Annual, plus the following year for comparison | Nationwide holiday counts, weekday and weekend splits, which holidays move between years, and rankings across all 100 countries |
Every dataset behind the site, what we compute from it, and how often it changes. Live values are fetched at page load and never hand-edited.
Clock arithmetic is the one thing on this site that can be checked exactly, so it is worth stating exactly how we do it.
Every city carries an IANA time-zone identifier — Asia/Colombo,
Europe/London, and so on. Offsets are resolved from the IANA Time Zone
Database, the same rule set your operating system uses. We do not store offsets as
numbers, because an offset is not a property of a place: it is a property of a place
at a moment. A stored number goes wrong twice a year.
The difference between two cities is therefore quoted against a stated instant. On the comparison hubs we publish two: 4 August 2026 and 14 January 2026, both at 12:00 UTC. One falls inside northern-hemisphere summer time and one does not, so between them they expose every pair whose gap changes during the year. Of the 330 city pairings we cover, 190 have a different gap on those two dates. A page that quotes a single number for those pairs is wrong for part of the year.
Shared working hours means the number of hours in which 09:00–17:00 local time in one city and 09:00–17:00 local time in the other refer to the same moment. It is a plain intersection of two eight-hour windows on the same calendar day, computed in UTC; it takes no view on lunch, weekends or when anyone actually works. Eight hours means the working days coincide completely. Zero means there is no hour of the standard working day that both cities are in.
Daylight-saving transition dates are read from the same database rather than from a rule of thumb, because the rules of thumb are wrong often enough to matter. The United States and Europe change clocks on different weekends in both spring and autumn, which opens two short windows a year when a London–New York gap is four hours rather than five. Several countries in our set changed their rules in the last decade and no longer move at all.
Cost figures are a monthly total for one person living in the city rather than visiting it: rent for a modest one-bedroom, utilities, food, local transport and ordinary day-to-day spending. They are a single representative figure, not a range, and they are rounded — a $1,400 city and a $1,450 city are not meaningfully different, and we would not report the $50.
Scores are comparative across all 500 cities, not absolute. An internet score of 4.5 means the city sits near the top of the set we track, not that it meets any external standard. This is why we report medians rather than averages when we summarise a region: a handful of very expensive cities pull an average away from what a typical city in that region actually costs.
Ties are reported as ties. If four cities share the lowest cost in a region we name all four, rather than picking one and calling it the cheapest. This sounds like a small thing and is the single most common way a comparison page ends up stating something false.
We do not rank cities on a composite of our own scores and call the result a verdict. The pages set the numbers side by side and leave the weighting to the reader, because the weighting is personal: the cheapest city on a list is the wrong answer for someone whose work needs a stable connection at a fixed hour.
Holiday dates are not scraped from a list. They are computed from each country's own holiday law by the python-holidays 0.102 library, which encodes the rule behind each day — fixed date, nth weekday of a month, or a date set by the Islamic, Chinese, Hebrew, Buddhist or Hindu calendar — and evaluates it for the year. We take the statutory public category only, which is what keeps commemorative observances and awareness days out of the count.
A day counts when it is a public holiday across the whole country. Regional and state holidays are excluded. This is the only definition that makes a hundred countries comparable to one another, and it is why Switzerland shows 4 and Canada shows 5: those are the days that apply nationwide, and cantonal or provincial holidays add several more wherever you actually live. The same applies to Germany, Spain, Australia, the United Kingdom and the United States. Datasets that publish much larger numbers for these countries are usually summing every region's list, which no single resident gets.
Substitute days are not counted twice. When a holiday falls at a weekend, some laws add a weekday in lieu and some move the holiday itself. Where the original date is also a holiday, the substitute is folded into it and the pair counts once. Where the law moves the day instead — as Colombia's Ley Emiliani does for 9 of its holidays — the moved date is the one that counts, because the original is an ordinary working day. Applying the rule one way for both cases is how a count ends up either well short or nearly double; Colombia is 19.
Dates that are not final are marked. 76 dates across the set follow the Islamic calendar and are confirmed only when the new moon is sighted, so they can move by a day in either direction. They are labelled estimated on the page rather than presented as settled.
The totals were checked against Nager.Date, an independent and unrelated dataset, for the 82 of our 100 countries it covers: 33 agree exactly, 50 are within one day, 72 within three, and the median difference is 1. The remaining gaps are almost all in countries whose holidays are set by a non-Gregorian calendar, which is the part scraped lists most often miss.
Three limitations are worth stating plainly, because all three affect what we will and will not publish.
A nationwide count is not what any one person gets. It is lower than the real figure in every federal country, for the reason given above, and it is not an entitlement either: whether a public holiday is a paid day off is set by employment law and by your contract, not by the calendar. Read the counts as a way of comparing countries with each other, not as the number of days you personally will have off.
One country has no 2027 data. Sri Lanka gazettes its Poya days a year at a time and next year's list is not published yet. Where the site reports which holidays move between years, Sri Lanka is shown as a dash rather than as a zero, because we do not know.
Cost and score figures are compiled, not measured. They are good enough to sort and compare with, which is what the pages use them for. They are not a substitute for checking current rents in a city you are about to move to.
The pages that use these figures are generated by code, and the code asserts each claim before the page is written. If a page says a range runs from two and a half to eight hours, a test computed that range from the data; if the data changed and the range no longer held, the build would stop rather than publish the old sentence. Superlatives are checked the same way against the full 500-city set, because "the cheapest", "the highest" and "the only" are the claims most likely to be quietly wrong after a data refresh.
This is also why the pages avoid round-sounding numbers. Where a figure is odd or awkward, it is because it was computed rather than estimated.
If you find something wrong, email hello@timedatelive.com. Factual errors are corrected in place and the last-checked date on the page moves.
Common follow-up questions
Why do you publish two different time differences for the same pair of cities?
Because for 190 of our 330 city pairings the gap genuinely is two different numbers depending on the month. Daylight saving moves one city's clock and not the other's. We quote the gap on 4 August 2026 and on 14 January 2026 so that both answers are visible, rather than picking one and being wrong for half the year.
What exactly does “shared working hours” mean?
The number of hours in which 09:00 to 17:00 local time in one city and 09:00 to 17:00 local time in the other are the same hours. It is the overlap of two eight-hour windows on the same calendar day, computed in UTC from IANA time-zone rules. Eight means the working days coincide exactly; zero means no hour of a standard working day is shared.
Are the cost of living figures measured or estimated?
Compiled. They are a single representative monthly total for one person, drawn from public cost indices and recurring community reports, and reviewed periodically. They are reliable enough to sort and compare cities with, which is what we use them for, and are not a substitute for checking current rents before you move.
How do you count public holidays, and why are your numbers lower than other sites?
We count a day when it is a public holiday across the whole country, computed from each country's own holiday law rather than scraped from a list. That gives 1,345 nationwide public holidays across 100 countries in 2026, a median of 13 each. Sites that publish much higher figures for federal countries are usually adding up every region's holidays, which no single resident actually gets. Our totals were cross-checked against the independent Nager.Date dataset for the 82 countries it covers: 33 match exactly, 50 are within one day, and the median difference is 1.
Can I cite or quote these figures?
Yes. Please name the calculation date shown on the page, because time differences and live values change. If you are quoting a time difference, quote the date it applies to as well.