从 DDay.Ical.Net 迁移到 Ical.Net
Migrating from DDay.Ical.Net to Ical.Net
您好,我正在从 DDay.ical 迁移到 Ical.Net nuget pacakages,但我遇到了以下代码,该代码在 DDay.Ical 日历中添加了时区,请帮助
前一个代码:
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:
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 但如何传递它我没有得到帮助。
VTimeZone
是ITimeZone
接口的具体实现。 ical.net 示例如下所示:
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
您好,我正在从 DDay.ical 迁移到 Ical.Net nuget pacakages,但我遇到了以下代码,该代码在 DDay.Ical 日历中添加了时区,请帮助
前一个代码:
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:
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 但如何传递它我没有得到帮助。
VTimeZone
是ITimeZone
接口的具体实现。 ical.net 示例如下所示:
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