首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DDay.Ical.Net迁移到Ical.Net

从DDay.Ical.Net迁移到Ical.Net
EN

Stack Overflow用户
提问于 2016-08-25 21:47:01
回答 1查看 1.8K关注 0票数 2

您好,我正在从DDay.ical迁移到Ical.Net nuget pacakages,但是我被以下在DDay.Ical日历中添加时区的代码卡住了,请帮助

前面的代码:

代码语言:javascript
复制
List<DOAppointment> lst = objResponse.Appointments;
string timeZoneName = objResponse.UserTimezone; 
iCalendar calendar = new DDay.iCal.iCalendar();
var timeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName); 
calendar.AddTimeZone(iCalTimeZone.FromSystemTimeZone(timeZone));

迁移到Ical.Net:

代码语言:javascript
复制
  List<DOAppointment> lst = objResponse.Appointments;
  string timeZoneName = objResponse.UserTimezone;
  Ical.Net.Calendar calendar = new Ical.Net.Calendar();
  var  timeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName); 
  ITimeZone tzID = timeZone;
  calendar.AddTimeZone(tzID);

这里我知道calendar.AddTimezone会考ITimezone,但是我不知道怎么通过,请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 22:19:50

VTimeZoneITimeZone接口的具体实现。ical.net示例将如下所示:

代码语言:javascript
复制
var calendar = new Ical.Net.Calendar();

// ical.net supports BCL time zones as well as IANA time zones
calendar.AddTimeZone(new VTimeZone(objResponse.UserTimezone));

将来,如果时区字符串与任何已知字符串不匹配,我可能会更改VTimeZone构造函数以抛出异常。然而,现在,它是相当愚蠢的。在幕后,如果所有其他方法都失败了,ical.net将默认使用代码运行所在的系统时区。这可能不太好。

我还添加了一个根据您的问题改编的wiki页面:

https://github.com/rianjs/ical.net/wiki/Working-with-time-zones

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39147095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档