Outlook无法正确导入带有时区的VCS? [英] Outlook not importing VCS with timezones correctly?

查看:121
本文介绍了Outlook无法正确导入带有时区的VCS?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在ASP中的Web应用程序上,我们有一个模块,该模块可生成要导入到您的日历中的VCS文件. 如果客户与我们(GMT)处于同一区域,则效果很好.

On our web app in ASP, we have a module that generates VCS files to be imported into your calendar. This works fine if the client is on the same zone as us (GMT).

但是,例如,如果我创建一个在UTC-01上午9点开始的事件,那么我仍然会在UTC/GMT上午9点开始看到该事件,就好像它不会读取TZOFFSET

But If I create an event which starts at 9am in UTC-01 for example, I still get the event as starting at 9am UTC/GMT, it's like it won't read the TZOFFSET

这是生成的VCS.在此示例中,该事件应于2011年12月30日上午9点至上午10点在UTC-05(纽约)举行.如果我将时区设为格林尼治标准时间(GMT),则将约会设为上午9点至上午10点,而不是计算时差.即使我更改了时区,它始终会计算与GMT的差异,而不是与发生事件的时区的差异.

This is the VCS generated. In this example the event is supposed to take place Dec 30th 2011 9am-10am in UTC-05 (New York). If I leave my time zone as GMT, I get the appointment as 9am-10am instead of calculating the time difference. Even if I change my timezones it always calculates the difference against GMT and not the Time Zone where the event is taking place.

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的任何好的文档.

I've been googling around for several days now and can't seem to find any good documentation on how to generate VCS correctly.

任何帮助都会很棒!

谢谢, 费德里科

推荐答案

以下是我提到的博客文章中的文本(不再可用):

Here's the text from the blog post I mentioned (which is no longer available):

==========

==========

这是问题所在:如果您搜索Google如何创建Outlook Calendar电子邮件通知/ics文件,则可能会偶然发现该页面具有可使用的通用模板.或者,您可以给自己发送邀请,然后查看ICS文件的源代码.

Here's the issue: If you search Google on how to create an Outlook Calendar email notification/ics file, you might stumble across this page which has a generic template you could use. Or you might send yourself an invitation and look at the source code for the ICS file.

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

Either way you'll see the following lines within the VTIMEZONE block:

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

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

Notice the strange X-MICROSOFT-CDO-TZID line... it simply has a number, "10". Well, according to Microsoft the number 10 represents the Eastern Time Zone here in America. Searching Google you might see more examples of this strange number/location mapping but you'll be hard pressed to find a complete listing of all the mappings. 11 is Central Time, 12 is Mountain Time, 13 is Pacific Time, but 38 is Mountain Time for Arizona...?

经过大量研究(并给MSFT员工打了电话),我们在MSDN网站的深处发现了该文档:

After much research (and a phone call to a MSFT employee), we found this document deep within a MSDN website: http://msdn.microsoft.com/en-us/library/aa563018(loband).aspx

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

It documents all the time zone "numbers" you'll need to use in order to correctly set up an ICS file.

==========

==========

干杯!

这篇关于Outlook无法正确导入带有时区的VCS?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆