首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DDay.iCal设置时区

如何使用DDay.iCal设置时区
EN

Stack Overflow用户
提问于 2014-05-30 08:44:04
回答 1查看 3.8K关注 0票数 2

我正在使用DDay.iCal发送一个应该由Outlook 2013接收的事件。这是我设置日期的代码的一部分:

代码语言:javascript
复制
evt.Created = new iCalDateTime(DateTime.Now);
evt.LastModified = new iCalDateTime(DateTime.Now);
evt.UID = Guid.NewGuid().ToString();
evt.DTStamp = new iCalDateTime(DateTime.Now);
evt.Duration = TimeSpan.FromHours(4);
evt.DTEnd = new iCalDateTime(DateTime.Now.AddHours(4));

当我在Outlook 2013中收到相应的会议请求时,我会得到以下内容:

组织者在下列时区创建了这次会议:(UTC)蒙罗维亚,雷克雅未克

我可以设置什么时区?我试过几次,例如:

代码语言:javascript
复制
evt.Created = new iCalDateTime(DateTime.Now, "GMT");
evt.LastModified = new iCalDateTime(DateTime.Now, "GMT");
evt.UID = Guid.NewGuid().ToString();
evt.DTStamp = new iCalDateTime(DateTime.Now, "GMT");
evt.Duration = TimeSpan.FromHours(4);
evt.DTEnd = new iCalDateTime(DateTime.Now.AddHours(4), "GMT");

...and...

代码语言:javascript
复制
evt.Created = new iCalDateTime(DateTime.Now, "Eastern Standard Time");
evt.LastModified = new iCalDateTime(DateTime.Now, "Eastern Standard Time");
evt.UID = Guid.NewGuid().ToString();
evt.DTStamp = new iCalDateTime(DateTime.Now, "Eastern Standard Time");
evt.Duration = TimeSpan.FromHours(4);
evt.DTEnd = new iCalDateTime(DateTime.Now.AddHours(4), "Eastern Standard Time");

当我这样做时,在Outlook 2013中,我收到一封带有附件的电子邮件,而不是会议请求,附件名为not supported calendar message.ics

如何正确设置时区(或至少设置一些默认设置,使Outlook不会显示前面提到的消息)?

编辑:下面是.ics文件的内容:

代码语言:javascript
复制
BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
PRODID:-//ddaysoftware.com//NONSGML DDay.iCal 1.0//EN
BEGIN:VEVENT
CREATED:20140602T094431
DESCRIPTION:Test test
DTEND:20140602T134431
DTSTAMP:20140602T074431Z
DTSTART:20140602T094431
LAST-MODIFIED:20140602T094431
ORGANIZER:mailto:johnny@example.com
PRIORITY:3
SEQUENCE:1
SUMMARY:Test 2
UID:df6b9f7c-2986-49f1-8b46-78d50193904c
BEGIN:VALARM
ACTION:Display
DESCRIPTION:Reminder
DURATION:PT15M
TRIGGER:PT15M
END:VALARM
END:VEVENT
END:VCALENDAR
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 09:02:20

这个答案帮我解决了这个问题。解决办法是使用:

代码语言:javascript
复制
iCal.AddLocalTimeZone();

也可以根据系统时区设置任意时区.详情见答案。

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

https://stackoverflow.com/questions/23950423

复制
相关文章

相似问题

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