induwara.lk
induwara.lkUtility · Time

Meeting Time Zone Planner — find an overlap across cities

Pick a meeting date and add the cities each attendee dials in from. The 24-hour grid scores every hour against everyone's working window so you can spot the overlap at a glance — DST-aware, no signup, sources cited.

By Induwara AshinsanaUpdated Jun 6, 2026
Plan a meeting across time zones
IANA tzdata · DST-aware

The 24-hour grid below is anchored to this zone.

Read in the zone you selected on the left.

Participants (2/6)

#1
#2
Quick add
Best meeting time
14:00
GMT+5:30 · score 4
Fully overlapping hours
3
Every participant is in working hours.
Participants
2
Across 2 time zones
Cross-check
Verified ✓
Grid agrees with UTC-interval algebra.

24-hour overlap grid

Working hoursJust outside working hoursOff-hours but awakeLikely asleep
Participant000102030405060708091011121314151617181920212223
You (Colombo)
Colombo · 0917
Teammate (London)
London · 0917
Hour (Colombo)12 AM1 AM2 AM3 AM4 AM5 AM6 AM7 AM8 AM9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8 PM9 PM10 PM11 PM

Highlighted hours are when every participant is in their working window. Scroll horizontally on small screens to see all 24 hours.

UTC-interval cross-check

  • You (Colombo)09:00–17:00 local05-11 03:3005-11 11:30 UTC
  • Teammate (London)09:00–17:00 local05-11 08:0005-11 16:00 UTC

Intersection: 05-11 08:00 05-11 11:30 UTC · 3.5 hours

✓ Grid and UTC-interval algebra agree.

Anchored to ColomboRuns entirely in your browser.

How it works

A single wall-clock time (say 14:00 on 11 May 2026) lands on a different moment in each time zone. The planner takes a base zone plus a base date, then walks all 24 hours of that day to score how comfortable each candidate slot is for every participant.

  1. Resolve each base-zone hour (00:00 through 23:00) to a single UTC instant via Intl.DateTimeFormat. That instant is unambiguous — DST shifts, half-hour offsets, and historical zone changes are all part of the IANA tz database your browser ships.
  2. For every participant, format that same UTC instant in their local zone. The result is their personal clock for the slot — including the calendar date, which may be ±1 day from the base date.
  3. Classify each participant's local hour against their working window. Four buckets:
    • Working — local hour falls inside [workStart, workEnd). Score +2.
    • Stretch — exactly one hour before or after the working window. Score +1.
    • Off-hours but awake — outside the working window but not asleep. Score 0.
    • Likely asleep — local hour in [22, 06). Score −2, so the planner never recommends a 03:00 call when an alternative exists.
  4. Sum the participant scores for each base-zone hour. The hour with the highest total is the recommended meeting time. Ties break to the earlier hour of the day.

The same answer is checked algebraically. Each participant's working window on the base date — interpreted as their local date — is converted to a single UTC instant interval (e.g. London 09:00–17:00 on 11 May 2026 = UTC 08:00–16:00). Intersecting those intervals gives the set of UTC instants where every participant is working. Any fully working hour in the grid has to fall inside that intersection — when it does, the calculator surfaces a verified ✓badge. When the intersection is empty, there's no perfect overlap and the top slot is the best compromise instead.

Everything runs client-side. The browser ships the full IANA tz dataset, the ECMAScript Internationalization API surfaces it through formatToParts(), and the scoring is a 24 × N integer-arithmetic loop — so the page works fully offline after first load and never sends your inputs over the network.

For a scheduler sitting in Sri Lanka the arithmetic is simpler than for most of the world, because Asia/Colombo holds a fixed UTC+5:30 with no daylight saving — the offset you learn once is the offset all year. The part that moves is always the other side of the call. A London or New York counterpart jumps an hour twice a year; an Australian teammate jumps the opposite way because the southern hemisphere's summer falls in our winter. That is exactly why the grid looks up each offset at the precise meeting instant instead of caching a single number per city. Take a standing 2:30 PM Colombo call with a London client: that is 9 AM in London through the winter (GMT), but once British Summer Time starts in late March it becomes 10 AM London. A recurring invite that felt comfortable in January quietly creeps an hour if you pin it to London's wall clock rather than to Colombo's — the kind of drift the grid makes visible at a glance, and the reason a quick check before a DST changeover is worth the thirty seconds.

If you only need to read one clock against another rather than score a whole day, the time zone converter does a single point-in-time conversion, and the world clock shows several cities live side by side. To measure how many days sit between two meeting dates — useful when a recurring call drifts across a DST changeover — reach for the date difference calculator.

Worked examples

The cases below trace the scoring by hand so you can reproduce every line in the tool above: a clean two-city overlap, two no-overlap compromises across three continents, a day rollover, and a Gulf-plus-UK setup that plenty of Sri Lankan freelancers run with clients in Dubai and London. The math uses 11 May 2026 throughout so the daylight-saving states stay fixed and comparable.

Two attendees, classic 9–5 overlap

11 May 2026 · base zone Asia/Colombo

  • You — Asia/Colombo, 09:00–17:00
  • Teammate — Europe/London, 09:00–17:00
  1. Colombo working window in UTC: 09:00–17:00 LK − 5:30 = 03:30–11:30 UTC.
  2. London in May is BST (UTC+1): 09:00–17:00 − 1:00 = 08:00–16:00 UTC.
  3. Intersect: max(03:30, 08:00) → min(11:30, 16:00) = 08:00–11:30 UTC.
  4. Project back to base zone (Colombo): 13:30–17:00 LK.
  5. Full-hour all-working cells: 14:00, 15:00, 16:00 LK.
  6. Top slot (earliest tied score): 14:00 Colombo ↔ 09:30 London on 11 May.

Three attendees on three continents — no perfect overlap

11 May 2026 · base zone Asia/Colombo

  • Asia/Colombo, 09:00–17:00
  • America/New_York, 09:00–17:00 (EDT in May, UTC−4)
  • Australia/Sydney, 09:00–17:00 (AEST in May, UTC+10)
  1. Working UTC: Colombo 03:30–11:30, New York 13:00–21:00, Sydney 23:00 on 10 May → 07:00 on 11 May.
  2. Triple intersection: empty — no UTC instant has all three working.
  3. Score scan at Colombo 11:00 (UTC 05:30): Colombo working +2, New York 01:30 asleep −2, Sydney 15:30 working +2 → total +2.
  4. Score scan at Colombo 06:00 (UTC 00:30): Colombo off 0, New York 20:30 on 10 May (off, 0), Sydney 10:30 (working +2) → total +2 — same score, no one is asleep.
  5. Several hours tie at +2 (the highest available); the planner picks the earliest, 06:00 LK. A human scheduler may still prefer 11:00 LK — same score but with two participants actively working instead of one.

Edge case — three continents with a day rollover

11 May 2026 · base zone Asia/Colombo

  • Asia/Colombo, 09:00–17:00 (UTC+5:30)
  • America/Los_Angeles, 09:00–17:00 (PDT in May, UTC−7)
  • Australia/Sydney, 09:00–17:00 (AEST in May, UTC+10)
  1. Working UTC: Colombo 03:30–11:30 on 11 May, Los Angeles 16:00–24:00 on 11 May, Sydney 23:00 on 10 May → 07:00 on 11 May.
  2. Triple intersection: empty — no UTC instant has all three working.
  3. Score scan at Colombo 09:00 LK (UTC 03:30): Colombo working +2, Los Angeles reads 20:30 on 10 May (off, 0), Sydney 13:30 (working +2) → total +4.
  4. Day rollover: the grid labels the Los Angeles cell 20:30 with a −1d tag — May 10 in LA is May 11 in Colombo.
  5. Score scan at Colombo 18:00 (UTC 12:30): Colombo off 0, LA 05:30 asleep −2, Sydney 22:30 asleep −2 → total −4 (the late-evening trap when everyone else is night-time).
  6. Top slot: 09:00 Colombo ↔ 13:30 Sydney ↔ 20:30 Los Angeles (Sun 10 May) — score 4, two of three working.

Gulf and UK clients — a common Sri Lankan freelancer setup

11 May 2026 · base zone Asia/Colombo

  • You — Asia/Colombo, 09:00–17:00 (UTC+5:30)
  • Client — Asia/Dubai, 09:00–17:00 (UTC+4, no DST)
  • Client — Europe/London, 09:00–17:00 (BST in May, UTC+1)
  1. Working UTC: Colombo 03:30–11:30, Dubai 05:00–13:00, London 08:00–16:00.
  2. Intersect: max(03:30, 05:00, 08:00) → min(11:30, 13:00, 16:00) = 08:00–11:30 UTC — 3.5 hours, a real overlap this time.
  3. Project back to base zone (Colombo): 13:30–17:00 LK.
  4. Full-hour all-working cells: 14:00, 15:00, 16:00 LK. (13:00 LK just misses — London is still 08:30, one hour short of its 09:00 start.)
  5. Top slot: 14:00 Colombo ↔ 12:30 Dubai ↔ 09:30 London on 11 May — score +6, the maximum possible with three participants all working.

Frequently asked questions

Sources & references

Time-zone offsets and DST transitions were last cross-checked against the IANA tzdata edition shipped in current Chrome/Firefox/Safari on 2026-05-11. The data refreshes through your browser's own update cycle.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Spotted an edge case or want a city added to the picker?

Email me at [email protected] — most fixes ship within 24 hours.