我在web.config中有一个全球化设置,如下所示:
<globalization culture="de-DE" uiCulture="de-DE" />
在一个普通的aspx页面上,我输出了一些东西。例如:
var a = DateTime.UtcNow.ToLocalTime().ToString();
var b = DateTime.UtcNow.ToString();
var c = DateTime.Now.ToLocalTime().ToString();
var d = TimeZone.CurrentTimeZone.ToLocalTime(DateTime.UtcNow).ToString();
结果:a、B、c、d的值全部相同(例如01.01.2001 17:00:00),这时我会期望本地时间和UTC时间是不同的。
我在这里错过了什么,我如何从UTC日期获得正确的本地时间。我已经检查了其他主题,但它没有工作..
3条答案
按热度按时间js4nwp541#
Microsoft Azure将UTC时间设置为本地时间,无论数据中心位于何处。如果您想转换为用户浏览器的本地时间,则需要通过编程进行转换。
由于Azure是一项全球服务,因此实际上没有本地时间,并且为了在所有全球数据中心保持一致,使用标准时间是有意义的。
更多信息,请访问。
http://michaelcollier.wordpress.com/2010/05/22/hey-azure-what-time-is-it/
kyks70gy2#
正如@John所指出的,你必须在客户端中这样做。如果是Web应用程序,您可以通过以下方式将UTC转换为本地时间:
broken link
fnvucqvd3#
这是我发现的对我有用的东西:
即使它是W。欧洲标准时间,它仍然考虑夏令时。(我有它的工作与GMT/BST相当不错)
我曾希望ToLocalTime在转换时会考虑CultureUI/Culture全球化设置,但情况似乎并非如此。