Google事件日期时间到系统日期时间c#反之亦然

本文关键字:日期 时间 反之亦然 系统 Google 事件 | 更新日期: 2023-09-27 18:18:03

我需要转换转换谷歌事件日期时间(在谷歌日历)到系统日期时间&c#中反之亦然。非常感谢任何帮助。提前感谢。

Google事件日期时间到系统日期时间c#反之亦然

Google Event Datetime显然使用RFC3339 Datetime,因此要将其转换为System。日期时间,可以使用:

XmlConvert.ToDateTime(string s, XmlDateTimeSerializationMode dateTimeOption)

从System转换。日期时间到Google日期时间,do:

XmlConvert.ToString(DateTime value, XmlDateTimeSerializationMode dateTimeOption)

Datetime有以下构造函数:

DateTime time = new DateTime(year, mounth, day, hour, minute, second);

可用于转换

我不能采纳Umut Seven的建议。但我尽量像桑德罗·z说的那样简单。它变得有点幼稚:)但是可能有人像我一样,所以这里是我的代码:

#region Googlestuff
var service = new CalendarService(new Google.Apis.Services.BaseClientService.Initializer()
{
    ApiKey = "xxxx",
    ApplicationName = "xxxx",
});
EventsResource.ListRequest lr = service.Events.List(calendarID);
#endregion
List<DateTime> starts = new List<DateTime>();    
foreach (var myEvent in lr.Execute().Items)
{
    string start = myEvent.Start.DateTime.ToString(); //it gives something like "11.09.2017 09:30:00"
    starts.Add(new DateTime(
    Convert.ToUInt16(start.Split(' ')[0].Split('.')[2]), //takes year
    Convert.ToUInt16(start.Split(' ')[0].Split('.')[1]), //takes month
    Convert.ToUInt16(start.Split(' ')[0].Split('.')[0]), //takes day
    Convert.ToUInt16(start.Split(' ')[1].Split(':')[0]), //takes hour
    Convert.ToUInt16(start.Split(' ')[1].Split(':')[1]), //takes minute
    Convert.ToUInt16(start.Split(' ')[1].Split(':')[2]))); //takes second
}
Console.WriteLine(starts);