So I'm using the RadScheduler control with WebApi and my appointment records come back from the server as iso 8601 strings like "2016-03-01T04:00:00Z". All dates that come from the server are in UTC format, and the RadScheduler control is set to render appointments using UTC time. So essentially if an appointment comes from the server as 8am UTC, then it should render at 8am on the scheduler, regardless of what timezone the client computer is set to.
Now there's an edge case that breaks the rendering of appointments. During the first X hours of the first day of a month, if an appointment starts within the first X hours, the parsing for the start time string fails and the appointment does not show up on the scheduler. The value X is the absolute value of the timezone offset for the client machine. So for instance if the machine is set to -5 hours offset, then appointments within the first 5 hours will not show up.
I've narrowed down the problem to the fact that the Telerik.Web.UI.Scheduler.Rendering.parseISO8601 function does not return a valid Date object in this scenario. You should be able to replicate this easily by executing Telerik.Web.UI.Scheduler.Rendering.parseISO8601("2016-03-01T04:00:00Z") assuming you have the Telerik.Web.UI.Scheduler.Rendering namespace / class loaded. It will return an invalid date if the client timezone offset is -5 or greater (-6, -7, etc..).
Is this a known issue and is there a fix?