Google事件日期时间到系统日期时间c#反之亦然
本文关键字:日期 时间 反之亦然 系统 Google 事件 | 更新日期: 2023-09-27 18:18:03
我需要转换转换谷歌事件日期时间(在谷歌日历)到系统日期时间&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);