首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有非美国夏令时时区的DDay iCal

具有非美国夏令时时区的DDay iCal
EN

Stack Overflow用户
提问于 2011-06-28 03:55:00
回答 1查看 781关注 0票数 1

我已经在DDay iCal库的论坛上发了帖子,但我想把它贴在这里,以防任何用户遇到这种情况。来自我的论坛帖子:

我在如何在iCal文件中生成时区部分时遇到了一个似乎是错误的地方--添加一个不支持夏令时的时区会创建一个空的VTIMEZONE部分,这会破坏iCal。看一眼代码,我就会相信这个部分是由TimeZoneInfo.GetAdjustmentRules()返回的集合生成的,对于不遵守DST的时区,这个集合是空的。

这篇文章底部的代码应该会演示这个问题。

如果这不是一个bug (我不相信它是一个bug!),我将非常感谢指导让它们工作。

代码语言:javascript
复制
void Main()
{
    foreach (var tz in TimeZoneInfo.GetSystemTimeZones())
    {
        var cal = GetCal(tz);
        Console.WriteLine(tz.Id + " :: " + tz.SupportsDaylightSavingTime + " :: " + cal.TimeZones.First().ID);
    }
}

iCalendar GetCal(TimeZoneInfo timeZone)
{
    var calendar = new iCalendar();

    calendar.AddChild(iCalTimeZone.FromSystemTimeZone(timeZone));

    var @event = new Event
                     {
                         Name = "VEVENT",
                         DTStart = new iCalDateTime(DateTime.Now, timeZone.Id),
                         DTEnd = new iCalDateTime(DateTime.Now + TimeSpan.FromHours(1))
                     };

    calendar.Events.Add(@event);

    return calendar;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-01 02:23:26

我从SVN下载了最新的源代码,并且已经应用了修复程序;只是它不在2011年6月30日的最新发布的DLL中。

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

https://stackoverflow.com/questions/6498190

复制
相关文章

相似问题

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