【发布时间】:2014-07-19 23:12:45
【问题描述】:
我正在使用DDay.iCal 发送一个应该由 Outlook 2013 接收的事件。这是我设置日期的代码部分:
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) 蒙罗维亚,雷克雅未克
我可以设置哪些时区?我尝试了一些,例如:
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");
...和...
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文件的内容:
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
【问题讨论】:
-
请张贴生成的 .ics 文件之一的内容?即在文本编辑器中打开文件并发布内容。
标签: c# timezone icalendar outlook-2013 dday