首页 文章

Outlook没有正确导入带时区的VCS?

提问于
浏览
1

在我们的ASP Web应用程序中,我们有一个模块可生成要导入日历的VCS文件 . 如果客户端与我们在同一区域(GMT),这可以正常工作 .

但是如果我在UTC-01上创建一个从上午9点开始的事件,我仍然在UTC时间/格林尼治标准时间上午9点开始这个事件,就好像它不会读取TZOFFSET

这是VCS生成的 . 在这个例子中,该事件应该发生在2011年12月30日上午9点至10点,UTC-05(纽约) . 如果我将我的时区留作格林尼治标准时间,我可以在上午9点至10点进行预约,而不是计算时差 . 即使我改变我的时区,它总是计算与GMT的差异,而不是事件发生的时区 .

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-Microsoft
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/New_York
TZ:UTC-05
X-MICROSOFT-CDO-TZID:10
BEGIN:STANDARD
DTSTART:20111230T090000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART: 20111230T090000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20111116T100300Z
DTSTART;TZID=America/New_York:20111230T090000
SUMMARY;ENCODING=QUOTED-PRINTABLE:TEST
UID:12347a7833h
ORGANIZER;CN=Test:MAILTO:test@test.com
LOCATION;ENCODING=QUOTED-PRINTABLE:Hall A
DTEND;TZID=America/New_York:20111230T100000
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:
SEQUENCE:0
PRIORITY:5
TRANSP:OPAQUE
CATEGORIES:Test
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

我一直在谷歌上搜索几天,似乎无法找到有关如何正确生成VCS的任何好文档 .

任何帮助都会很棒!

谢谢,费德里科

2 回答

  • 2

    这是我提到的博客文章中的文字(不再可用):

    ==========

    问题在于:如果您在Google上搜索如何创建Outlook日历电子邮件通知/ ics文件,您可能会偶然发现这个页面,其中包含您可以使用的通用模板 . 或者您可以发送邀请并查看ICS文件的源代码 .

    无论哪种方式,您都会在VTIMEZONE块中看到以下行:

    TZID:(GMT-05.00) Eastern Time (US & Canada)
    X-MICROSOFT-CDO-TZID:10
    

    注意奇怪的X-MICROSOFT-CDO-TZID线...它只有一个数字,“10” . 嗯,据微软称,10号代表美国的东部时区 . 搜索Google时,您可能会看到更多这种奇怪的数字/位置映射示例,但您很难找到所有映射的完整列表 . 11是中部时间,12是山地时间,13是太平洋时间,但38是亚利桑那州的山地时间......?

    经过大量研究(以及致电MSFT员工的电话),我们在MSDN网站的深处找到了这份文件:http://msdn.microsoft.com/en-us/library/aa563018(loband).aspx

    它记录了您需要使用的所有时区“数字”,以便正确设置ICS文件 .

    ==========

    干杯!

  • -1

    我'm sure the OP has solved this already, but here'是一篇很棒的博客文章,讨论了微软用于帮助Outlook中的时区解释的专有"X-MICROSOFT-CDO-TZID"标签:http://hello-dot-wordpress.blogspot.com/2009/10/my-guide-to-x-microsoft-cdo-tzid.html

    编辑:更新链接 .

相关问题