Skip to main content
Events lay out from their local wall-clock time. To display them in a specific IANA zone regardless of the device, pass Calendar a timeZone. It’s DST-correct via Intl.
Under the hood this runs your events through eventsInTimeZone. Call it (or toZonedTime for a single date) yourself if you need the shifted events outside Calendar:
The returned dates are for display only — they carry the zone’s wall clock, not the original instant. Keep your source events around for editing and saving.

The now indicator

The current-time line follows the same zone as your events: set timeZone on Calendar and the line lands where “now” is in that zone, not where the device clock is. Pass now for a fixed instant instead (a server-synced clock, or a stable value in tests); a fixed now doesn’t tick. ResourceTimeline takes the same showNowIndicator / now / timeZone props and draws its line across the lanes whenever the board’s date is that zone’s today.