2016-12-14 81 views
1

雖然在documentation中不清楚,但似乎很明顯,肥皂請求的這一塊將填充與Web客戶端所在設備的時區有關的數據正在運行。我正在做這個假設,因爲大多數文檔描述瞭如何從Windows註冊表中獲取這些信息。但是,這不適用於多平臺Web客戶端。JavaScript中的EWS GetUserAvailabilityRequest - 如何設置時區信息

我的假設是否正確,該時區數據與客戶端操作系統有關?

如果是這樣,很容易在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> 
+0

我希望我能知道如何改進這個問題,並避免-1。 – Sandy

+0

你看過[這個答案](http://stackoverflow.com/a/18366172/5884960) –

回答

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