Я пытаюсь взять события из Календаря Google и отобразить их в виде списка для Xamarin.Forms.
Календарь Google использует формат RFC3339 при вызове start.dateTime, формат гггг-мм-дд,Я пытаюсь создать строковый формат дня недели (понедельник, 1 января 2018 г.), аналогичный методу .Net DateTime.ToLongDateString.
Пока мой код такой:
namespace TheFirstAcademy.ViewModels{
class EventListViewModel
{
public List<SchoolEvent> SchoolEvents { get; set; }
public SchoolCalendar SelectedCalendar { get; set; }
public EventListViewModel(SchoolCalendar selectedcalendar)
{
SelectedCalendar = selectedcalendar;
SchoolEvents = GetSchoolEvents();
}
public List<SchoolEvent> GetSchoolEvents()
{
// Create Google Calendar API service.
var service = new CalendarService(new BaseClientService.Initializer()
{
ApiKey = "Key",
ApplicationName = "TFA Calendar Mobile App",
});
// Define parameters of request.
EventsResource.ListRequest request = service.Events.List(SelectedCalendar.SchoolCalId);
request.TimeMin = DateTime.Now;
request.ShowDeleted = false;
request.SingleEvents = true;
request.MaxResults = 10;
request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime;
// List events.
Events events = request.Execute();
List<SchoolEvent> schoolEvents = new List<SchoolEvent>();
if (events.Items != null && events.Items.Count > 0)
{
foreach (var eventItem in events.Items)
{
string when = eventItem.Start.DateTime.ToString();
if (String.IsNullOrEmpty(when))
{
when = eventItem.Start.Date;
}
schoolEvents.Add(new SchoolEvent() {
EventTitle = eventItem.Summary,
EventDescription = eventItem.Description,
EventStartTime = when,
EventEndTime = eventItem.End.Date
});
}
}
return schoolEvents;
}
}
}
Это в конечном итоге будет отображаться в ListView для iOS и Android с использованием Xamarin.Forms.Событие для календаря будет выглядеть примерно так:
[Имя события]
[Место события]
Начало: пт 25 мая 2018 12:00 PM
Окончание: суббота, 26 мая 2018 г., 12:00
Некоторые ссылки, которые мне удалось найти: Google Calendar v3 Информация о событиях https://developers.google.com/calendar/v3/reference/events
RFC to dateTime (не уверен, что этоэто правильное направление). Как мне проанализировать и преобразовать DateTime в формат даты-времени RFC 3339?
Любая помощь приветствуется.