我没有时区转换的专业知识来解析vCalendar文件 - 提取一些信息很简单,但尝试解决考虑时区和夏令时的开始和结束时间并不容易,重新发明没有意义轮子。
有没有人知道你可以传递.ICS文件的函数库,它会返回各种信息?
例如:
GetStartTimeCorrectedForMyLocalTimezone("c:\c192837.ics")
会在我当地的时区返回事件的开始时间。
答案 0 :(得分:0)
我还没有尝试过,但有图书馆:
http://sourceforge.net/projects/icalparser/和
http://www.ddaysoftware.com/Pages/Projects/DDay.iCal/
在页面http://csharpdotnet-aditikothari.blogspot.de/2013/01/ics-fileicalendar-attached-with-email.html上有一些关于如何手动解析格式的信息。
但如果您的主要问题是时区,那么如果我是正确的,那么所有时间都是UTC的ics
DateTime localTime = DateTime.SpecifyKind(DateTime.Parse(strDate),
DateTimeKind.UTC).ToLocalTime();