Scheduler Timezone

Control which timezone labels appear on scheduler grids without changing stored event instants.

Grid labels and event positioning use display_timezone on SchedulerCalendar and SchedulerTimeline. Each PlannedEvent retains its UTC instant and value timezone independently.

  • Showing events in a viewer's local or office timezone while storing canonical instants
  • Explaining wall-time vs UTC instant parsing at API boundaries
  • Bind display_timezone: RwSignal<DatetimeTimezone> on the scheduler product.
  • Keep event start / end as OrbitalDateTime — only labels and placement rezone for display.
  • At API boundaries use orbital_base_components::TryFromIso8601: strings ending in Z parse as UTC instants; naive dates interpret as start-of-day in the supplied timezone.
UTC, Eastern, and Tokyo labels

One event stored at 9:00 AM Eastern; switch display timezone to see the label shift.

DensityDefault
Event start in display timezone: 14:00
2024-12-29
2024-12-30
2024-12-31
2025-01-01
2025-01-02
2025-01-03
2025-01-04
12 AM
1 AM
2 AM
3 AM
4 AM
5 AM
6 AM
7 AM
8 AM
9 AM
10 AM
11 AM
12 PM
1 PM
2 PM
3 PM
4 PM
5 PM
6 PM
7 PM
8 PM
9 PM
10 PM
11 PM
Cross-timezone review