Omk*_*kar 1 .net c# compact-framework windows-ce
我正在研究.Net Compact Frmework(CF)应用程序.我这个应用程序的要求是我应该能够更改TimeZone.但是,当我更改TimeZone时,当前时间不会更改为特定的TimeZone.从,我开始知道DateTime.Now在这种情况下无法工作.
我正在使用以下Win API:
SetTimeZoneInformation(...) - 在运行时设置时区.GetLocalTime(...) - 获取当地时间和当前时区.任何人都可以告诉我可能有什么问题吗?
以这种方式从应用程序更改时区不会更改本地时间:而是更改系统时间以保持本地时间相同.这不是控制面板的功能,但如果要模拟控制面板功能,则需要执行以下操作:
这样,系统时间保持不变,本地时间根据所选时区而变化.
顺便说一句,我们使用OpenNETCF库(http://www.opennetcf.com)在我们的产品中执行此操作,该库包括一个DateTimeHelper类(在许多其他有用的东西中 - 并且社区版是免费的).(这比编写自己的pinvoke访问要简单一点SetTimeZoneInformation(),功能也一样.)