我需要在 C# 4.0 中将我的 windows mobile 6.5 应用程序的时区转换为 UTC?是否可以将时区更改为UTC?
1 回答
你让我很烦。Windows Mobile 6.5(又名 Windows Embedded Handheld)和 C#4.0??????
Windows Mobile 6.5 可以使用 Compact Framework 3.5 进行编程。没有 C# 4.0 版本。有可以使用 C# 4.0 框架进行编程的 Windows Phone (>=7.x)。后者是用 Visual Studio 2010 完成的。Windows Mobile 6.5 应该用 Visual Studio 2008(最新的 VS 与本机 Mobile 支持)进行编程。
好的,当您处理时间时,您应该知道您的设备有不同的“时间”。主要的“时间”,即系统时间,始终是 UTC。例如,文件时间始终使用 UTC 保存。否则,必须将切换时区保存到所有文件中。然后还有另一个“时间”,即当地时间。例如 DateTime.Now() 给出本地时间,应用时区和 DST 的时间。
有 API 函数可以获取/设置设备的 UTC 时间或获取/设置本地时间和获取/设置文件时间。
使用 SetTimeZone/GetTimeZone 我发现了一个与 DST 相关的大问题。请参阅此处http://www.hjgode.de/wp/2010/10/08/windows-mobile-setsystemtime-and-dst-einsteins-relativity-theory/。该帖子还包含 P/Invokes 以从 Compact Framework 访问 Windows Mobile 上的时间函数。
将时区转换为 UTC 是什么意思?如果您需要了解本地时间的 UTC,则必须读取 TimeZone 信息并将时区偏移值添加/删除到本地时间以获取 UTC 时间。
〜约瑟夫