我正在编写一个MVC 5互联网应用程序,并正在将此应用程序部署到Azure。所有DateTime值都以UTC格式存储。
如何将这些值显示为Web用户的本地时间的最佳方式是什么?我知道如何将UTC DateTime转换为LocalTime,但我不确定将这些DateTime值显示给使用Azure网站的国际用户的最佳方式。
我做了一些研究,并且我已经阅读了以下内容:
有更好/更简单的方法吗?这是否必须在每个控制器/操作结果中完成,还是可以在一个地方完成?有没有人写过一些我可以使用的代码,而不是编写我自己的代码?
提前致谢。
答案 0 :(得分:1)
将此添加到您的网络配置:
<configuration>
<system.web>
<globalization culture="auto:en-US" uiCulture="en-US" />
</system.web>
</configuration>
如果您没有计划使用本地化资源,那么您可以省略配置的uiCulture
部分。
此设置会自动将ASP.NET请求切换到浏览器 客户的语言,如果找到匹配。如果浏览器没有 提供一种语言或语言无法与.NET之一匹配 安装了文化,使用了后备值 - 在本例中为en-US。
此设置应用ASP.NET请求线程的CurrentCulture和 的UICulture。在ASP.NET中很早就切换了文化 HttpApplication生命周期,因此您可以看到所选的文化应用和 甚至可以在Application_BeginRequest中使用,然后在整个 其余的请求周期。