2014-01-23 151 views
2

我使用DateTime.Now在我的地铁(Windows 8)应用程序(c#+ winjs)中显示当前时间和日期。DateTime.Now - Metro应用程序 - Windows 8

当用户更改时区时,如果不关闭并重新打开应用程序,则DateTime.Now将显示旧时间。

(工作正常时,用户关闭并重新打开应用程序)

如何获取正确的时间?

感谢

+0

更多信息:http://social.msdn.microsoft.com/Forums/windowsapps/en-US/731dfd25-e717-4a1c-bbf8-fc37cfc19fc0/a-bug-about-timezoneinfo-in-metro-app?论坛= winappswithcsharp – calca

+0

对不起,我不明白 - 你正在使用C#和JavaScript(WinJS)?你的意思是你正在创建一个调用C#运行时组件的WinJS应用程序? –

+0

我有一个用WinJS和C#WinRT组件(DLL)编写的metro应用程序 – calca

回答

1

在一个标准的应用程序,你可以使用TimeZoneInfo.ClearCachedData,但这不是可以在Windows Store应用程序。

您可以考虑使用提供不同API的the WinRTTimeZones library和使用GetDynamicTimeZoneInformation原生Win32调用获取时区的fetches the time zone from windows

声明:我对这个图书馆没有任何经验。它似乎有正确的想法,但如果遇到问题,请直接向图书馆作者提问。谢谢。

+0

我们使用此库来获取正确的夏令时。我们需要使用DateTime.Now或DateTime.UtcNow更新时间,但是当用户更改TimeZone时,这些值都不会更新:( – calca

相关问题