来自javascript的EWS GetUserAvailabilityRequest - 如何设置时区信息

时间:2016-12-14 02:57:58

标签: javascript timezone exchangewebservices

虽然在documentation中不清楚,但很明显肥皂请求的这一部分将填充与运行Web客户端的设备的时区有关的数据。我之所以这样做是因为大多数文档描述了如何从Windows注册表中获取此信息。但是,这对于多平台Web客户端来说并不起作用。

我的假设是否正确,此时区数据与客户端操作系统有关?

如果是这样,在JavaScript中很容易获得当前时区偏移量(偏差)。

使用StandardTime和DaylightTime填充要素的其余数据呢?

e.g。

 <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>

1 个答案:

答案 0 :(得分:0)

我使用TimezoneJs来帮助获取所有时区数据。 TimezoneJs返回Olson(IANA)样式时区名称,但EWS soap请求需要Microsoft样式的时区名称。为了解决这个问题,我使用了unicode.org提供的xml来创建一个帮助实用工具,将IANA时区名称映射到MS风格的时区名称。

您可以在此处获取xml:http://unicode.org/repos/cldr/trunk/common/supplemental/ 有趣的文件:metazones.xml和WindowsZones.xml