Configuring RadScheduler for Canadian Time Zones with New Rules
Environment
| Product | Scheduler for UI for ASP.NET AJAX |
| Version | 2026.2.708 |
Description
I want to configure RadScheduler to support the new Canadian time zones, such as BC UTC-7 and Alberta UTC-6, via TimeZoneID so appointments display correctly year-round. The new Canadian time-zone rules affect provinces like British Columbia, Alberta, Northwest Territories, and Manitoba, which will no longer observe daylight saving time starting November 1, 2026. This creates a mismatch with the U.S. time zones where daylight saving time continues to apply.
This knowledge base article also answers the following questions:
- How to handle Canadian time zones in RadScheduler when daylight saving rules no longer match?
- How to assign distinct time zones in RadScheduler for Canadian provinces?
- What to do if Windows does not provide updated time-zone definitions?
Solution
To configure RadScheduler for the new Canadian time zones, follow these steps:
-
Ensure that the Windows server running the application has the latest updates. Microsoft may release new time-zone definitions for the affected Canadian regions.
-
Check for available time zones on the server using the following code:
foreach (TimeZoneInfo timeZone in TimeZoneInfo.GetSystemTimeZones())
{
Console.WriteLine(timeZone.Id);
}-
Once the new Canadian time-zone IDs are available on the server, assign them to
RadScheduler.TimeZoneIDdynamically during each request in thePage_Initevent. Avoid assigning the time zone only whenNot IsPostBackis true.Example:
C#protected void Page_Init(object sender, EventArgs e) { string staffId = Profile.StaffID; TimeZoneInfoResult result = TimeZone_Staff.RunSelectStatement(staffId); RSAppointments.TimeZoneID = result.TimeZone; } -
Store all appointment times in UTC. RadScheduler will automatically handle time-zone conversions for display and editing.
-
If Microsoft does not provide the updated time-zone definitions in time, use the
RadScheduler.TimeZoneOffsetproperty as a temporary workaround for fixed offsets.Example for BC (UTC-7):
RadScheduler1.TimeZoneOffset = TimeSpan.FromHours(-7);This approach is for regions that do not observe daylight saving time and have a fixed offset year-round. It is not suitable for dynamic time zones with changing rules.
- Avoid using existing
TimeZoneIDvalues like "Pacific Standard Time," "Mountain Standard Time," or "Central Standard Time" if their daylight-saving rules do not match the new Canadian regions.