Thank you for contacting us.
The offset you see in the appointment dates is caused by the selected Timezone of your device/emulator. The android calendar assumes that the appointment date is in UTC format and converts it to your local timezone. I've logged a Bug Report in our backlog to fix the problem - you can check the public item here - link
As a workaround to your issue I can offer you two solutions:
1. When creating new events, after you create the correct start and end date objects set them to UTC format. That way the event will be displayed correctly in the DayView. The negative side of that approach is that your Appointment object will hold the dates in UTC format. Here is a quick code snipped that set the dates in UTC:
var startDate =
DateTime(2017, 5, 31, 9, 15, 0);
var Appointment =
StartDate = startDate.ToUniversalTime()
2. The second approach is to create custom CalendarRenderer where you will have access to the native control and you can change the TimeFormat from "LOCAL" to "UTC". I'm posting simple implementation of CustomCalendarRenderer that should solve your problem:
CustomCalendarRenderer : CalendarRenderer
(view == CalendarViewMode.Day)
.Control.DayView.DayEventsViewStyle.TimeLabelFormat.TimeZone = TimeZone.GetTimeZone(
Here are a few links about custom renderers in Xamarin:
I hope I've been helpful.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items