How Can You Compare Two Schedules Across Time Zones?
From the earlier reference collection. Read the current software blog.
Compare converted instants on a shared timeline while retaining each schedule’s local service date, zone, and original values.
First decide what is being compared
Two schedule entries can be compared as local clock labels, as planned moments, or as service-day positions. These are different comparisons. “8:30 in each city” compares wall-clock labels; it does not necessarily mean the services occur simultaneously.
For an elapsed-time question—such as which event happens first—convert each event to an instant using the correct date and time-zone rules. For a rider-facing timetable question, retain the agency’s own local presentation and service-day context.
Convert with each agency’s zone
Suppose an event at Agency A is scheduled for 9:00 a.m. in its local zone, and an event at Agency B is scheduled for 9:30 a.m. somewhere else. The clock labels alone cannot establish which occurs first. Resolve each date in its own zone, then compare the resulting instants on the same timeline.
Do not assign one zone to both records just because the comparison appears on one screen. Each agency’s schedule belongs to its own operational context. If the source zone is missing, report that the ordering cannot be confirmed rather than quietly filling the gap.
Preserve the service context
After comparison, keep the original service date, local time, and zone with the result. If a transit schedule uses an extended time such as 25:10, that value may mean 1:10 a.m. on the date after the service date. Converting it requires honoring both the service-day convention and the agency’s zone. GTFS explicitly accommodates service-day values beyond 24 hours. [GTFS schedule reference](https://gtfs.org/documentation/schedule/reference/)
A comparison table might show “Agency A — 9:00 local, Tuesday” and “Agency B — 9:30 local, Tuesday,” alongside an explicitly normalized ordering. The local labels help people recognize the published schedules; the ordering answers the cross-zone question.
Handle clock changes deliberately
Run comparisons on dates near daylight-saving transitions. Local labels may be skipped or repeated, while UTC instants remain ordered. If a schedule does not identify which repeated occurrence it means, preserve the ambiguity rather than presenting a falsely exact ranking.
A sound comparison process uses a common instant for ordering and the original local context for explanation. Neither view replaces the other: one supports calculation, and the other helps readers understand what each schedule actually says.