2012-04-19 155 views
0

有沒有辦法獲取Windows Mobile 6(或更好的6.5.3)設備上可用的時區列表?我需要關於偏差,標準偏差,日光偏差和轉換日期的信息(如TIME_ZONE_INFORMATION)。這些都是我已經嘗試過的事情:枚舉Windows Mobile設備上的時區

  • 註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Timezones二進制格式(_REG_TZI_FORMAT)定義了一些時區。看來Windows只存儲時區更新,所以列表不完整。
  • Windows API似乎沒有提供枚舉所有時區的功能。
  • 我也許可以將Windows Mobile上的時區映射到Windows 7上的時區,但是有很多不同之處,這似乎是一個容易出錯的任務(除了hughe的工作外)。
  • MSDN告訴我有一個Timezones.csv隨Windows Mobile SDK一起提供,但我無法在我的計算機上找到它(既不在6.5 SDK文件夾中,也不在6.5.3 SDK文件夾中)。

回答

1

OpenNETCF Windows CE庫允許列出Windows Mobile設備上可用的時區。示例代碼:

var col = new TimeZoneCollection(); 
col.Initialize(); 

foreach (var timeZone in col) 
{ 
    string name = timeZone.DisplayName; 
    // ... 
} 

在內部,庫p /調用citydb.dll以獲取信息。

1

我想你要找的是Noda Time庫,一個端口Joda Time

它提供了有關時間(區域)的大量信息。

+0

謝謝你的提示。由於某些遺留原因,我需要Windows Mobile列表(這對我的使用情況來說已經足夠了,即使它自2009年以來沒有更新過)。在一個新項目中,我會按照你的建議使用這樣一個庫。 – Gene 2012-04-19 12:39:23