1

Compact Framework 中提供了哪些 API 来读取基于 windows mobile 的设备上的时间(不是 UTC !!)?

我可以使用以下代码以 UTC 格式获取设备时间:

DateTime dt = DateLib.Now;            
SystemTime sysTime = new SystemTime();
Windows.SystemTime.GetSystemTime(out sysTime);
Windows.SystemTime.ConvertTimeStructure(ref sysTime, out dt);
Windows.SystemTime.SetSystemTime(dt);

但我想要根据设备时区的时间。谢谢

4

2 回答 2

1

您可以使用 DateTime.UtcNow 来获取 UTC 时间。获取当前的 UTC 偏移 TimeZone

GetUtcOffset 以获取 TimeSpan。

http://msdn.microsoft.com/en-us/library/system.timezone.getutcoffset.aspx

然后你可以得到 LocalTime = DateTime.UtcNow + TimeZone.GetUtcOffset

于 2011-07-28T22:45:08.710 回答
1

你为什么不简单地使用内置的、受支持的DateTime.Now属性?

编辑

Compact Framework在 load 上缓存时区信息,因此在应用程序加载后更改时区的任何调用都不会反映在对 DateTime.Now 的调用中。

现在我假设你是 P/Invoking GetSystemTime,而不是你应该是 P/Invoking GetLocalTime

于 2011-07-28T21:54:36.437 回答