来自 javascript 的 EWS GetUserAvailabilityRequest - 如何设置时区信息
EWS GetUserAvailabilityRequest from javascript - How to set timezone information
虽然在 documentation 中不清楚,但很明显,soap 请求的这一块将填充与 Web 客户端所在设备的时区有关的数据 运行 上。我做出这个假设是因为大多数文档都描述了如何从 Windows 注册表中获取此信息。但是,这不适用于多平台 Web 客户端。
我的假设是否正确,即此时区数据与客户端有关 OS?
如果是这样,很容易得到JavaScript中的当前时区偏移量(偏差)。
填充与 StandardTime 和 DaylightTime 相关的元素的其余数据如何?
例如
<SerializableTimeZone xmlns=".../types">
<Bias>-600</Bias>
<StandardTime>
<Bias>0</Bias>
<Time>03:00:00</Time>
<DayOrder>5</DayOrder>
<Month>3</Month>
<DayOfWeek>Sunday</DayOfWeek>
</StandardTime>
<DaylightTime>
<Bias>-60</Bias>
<Time>02:00:00</Time>
<DayOrder>5</DayOrder>
<Month>10</Month>
<DayOfWeek>Sunday</DayOfWeek>
</DaylightTime>
</SerializableTimeZone>
我使用 TimezoneJs 来帮助获取所有时区数据。 TimezoneJs returns Olson (IANA) 风格的时区名称,但 EWS soap 请求需要 Microsoft 风格的时区名称。为了解决这个问题,我使用 unicode.org 提供的 xml 创建了一个辅助实用程序,将 IANA 时区名称映射到 MS 风格的时区名称。
您可以在此处获取 xml:http://unicode.org/repos/cldr/trunk/common/supplemental/
有趣的文件:metazones.xml 和 WindowsZones.xml
虽然在 documentation 中不清楚,但很明显,soap 请求的这一块将填充与 Web 客户端所在设备的时区有关的数据 运行 上。我做出这个假设是因为大多数文档都描述了如何从 Windows 注册表中获取此信息。但是,这不适用于多平台 Web 客户端。
我的假设是否正确,即此时区数据与客户端有关 OS?
如果是这样,很容易得到JavaScript中的当前时区偏移量(偏差)。
填充与 StandardTime 和 DaylightTime 相关的元素的其余数据如何?
例如
<SerializableTimeZone xmlns=".../types">
<Bias>-600</Bias>
<StandardTime>
<Bias>0</Bias>
<Time>03:00:00</Time>
<DayOrder>5</DayOrder>
<Month>3</Month>
<DayOfWeek>Sunday</DayOfWeek>
</StandardTime>
<DaylightTime>
<Bias>-60</Bias>
<Time>02:00:00</Time>
<DayOrder>5</DayOrder>
<Month>10</Month>
<DayOfWeek>Sunday</DayOfWeek>
</DaylightTime>
</SerializableTimeZone>
我使用 TimezoneJs 来帮助获取所有时区数据。 TimezoneJs returns Olson (IANA) 风格的时区名称,但 EWS soap 请求需要 Microsoft 风格的时区名称。为了解决这个问题,我使用 unicode.org 提供的 xml 创建了一个辅助实用程序,将 IANA 时区名称映射到 MS 风格的时区名称。
您可以在此处获取 xml:http://unicode.org/repos/cldr/trunk/common/supplemental/ 有趣的文件:metazones.xml 和 WindowsZones.xml