MS Outlook在本地时间错误地解释ICS文件:夏令时过度更正

MS Outlook在本地时间错误地解释ICS文件:夏令时过度更正,outlook,calendar,timezone,Outlook,Calendar,Timezone,是否有人知道在ICS文件中指定所有时间都在该位置的本地时间写入的方法?我认为在时间结束时不使用“Z”,并在DTSTART和DTEND行中使用TZID=“America/Denver”(例如)可以实现这一点,但MS Outlook假定所有时间都在该位置的标准时间内。我的活动都考虑了夏令时 我是否必须重写应用程序,使时间以UTC为单位 我是否必须在开头包含一个定义任何时区的块?这很困难,因为我想支持Olson数据库中的每个时区 但目前,MS Outlook将夏时制期间的所有约会提前一小时,这是错误的

是否有人知道在ICS文件中指定所有时间都在该位置的本地时间写入的方法?我认为在时间结束时不使用“Z”,并在DTSTART和DTEND行中使用TZID=“America/Denver”(例如)可以实现这一点,但MS Outlook假定所有时间都在该位置的标准时间内。我的活动都考虑了夏令时

我是否必须重写应用程序,使时间以UTC为单位

我是否必须在开头包含一个定义任何时区的块?这很困难,因为我想支持Olson数据库中的每个时区

但目前,MS Outlook将夏时制期间的所有约会提前一小时,这是错误的


提前感谢您的帮助。

我遇到了与此类似的问题,我做了很多研究,但解决方案仍然不是最好的。我不知道为什么Outlook不能正确处理本地时间,它使安排其他时区的本地时间约会成为一个大麻烦。清楚地表明,如果未指定时区,且未使用UTC“Z”字符,则无论接收器位于哪个时区,时间都应相同。但是,Outlook不遵守此规定,并根据发送客户端时间和接收客户端时间更改时间


在我的例子中,我有一个正在运行的站点,允许某些用户安排其他用户进行约会。这些用户可以位于许多不同的时区。幸运的是,该网站只在一个时区内托管。因此,我的解决方案是编写一个简单的c#switch语句,根据接收用户相对于服务器的位置偏移时间。I在.ics文件中指定时区,并且I通过“Z”字符将时间标记为UTC

我也想听到一个答案。我认为有两种选择:1)在文件本身中配置独立于时区的开始时间,如果可能的话2)检查用户的时区服务器端,并在运行时提供特定的.ics文件。