枚举Windows Mobile设备上的时区

时间:2012-04-19 11:23:11

标签: c# windows-mobile compact-framework timezone dst

有没有办法获得Windows Mobile 6(甚至更好的6.5.3)设备上可用的时区列表?我需要有关偏差,标准偏差,日光偏差和转换日期的信息(如TIME_ZONE_INFORMATION中所述)。那些是我已经尝试过的东西:

  • 注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Timezones以二进制格式(_REG_TZI_FORMAT)定义了一些时区。 Windows似乎只存储时区更新,因此列表不完整。
  • Windows API似乎没有提供枚举所有时区的功能。
  • 我可能会将Windows Mobile上的时区映射到Windows 7中的时区,但是存在很多差异,这对我来说似乎是一个容易出错的任务(除了帮助之外)。
  • MSDN告诉我Windows Mobile SDK附带了Timezones.csv,但我无法在计算机上找到它(6.5 SDK文件夹和6.5.3中都找不到它SDK文件夹)。

2 个答案:

答案 0 :(得分: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 :(得分:1)

我认为您要找的是Noda Time库,Joda Time的端口。

它提供有关时间(区域)的广泛信息。