我的开发应用程序的一个今天开始显示美国格式化的短日期,我期待英国格式化。
使用date.ToShortDateString()
我已经检查了区域设置,键盘设置,浏览器设置和web.config。这些都设置为英语(英国)或未更改。我也重启了很多次。
同一应用程序的移动版本,从同一个开发服务器运行,同一个网站(不同的Web应用程序)正常运行。
环境:
其他地方可以更改可能影响日期显示的区域设置吗?
答案 0 :(得分:4)
Windows区域设置不会影响任何网站,除非网站已编程为从浏览器首选语言获取区域设置并将其应用于ASP网站
使用globalization
web.config
选项
<globalization culture="es-AR" uiCulture="es" />
或
在global.aspx
Application_BeginRequest
方法
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim lang As String = "es"
If HttpContext.Current.Request.Path.Contains("/en/") Then
lang = "en"
ElseIf HttpContext.Current.Request.Path.Contains("/pt/") Then
lang = "pt"
ElseIf HttpContext.Current.Request.Path.Contains("/es/") Then
lang = "es"
End If
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
End Sub
答案 1 :(得分:1)
来自MSDN
使用与当前线程区域性关联的DateTimeFormatInfo.ShortDatePattern属性定义的模式格式化当前DateTime对象的值。返回值与通过使用ToString(String)方法指定“d”标准DateTime格式字符串返回的值相同。
您是否尝试过更改当前线程的文化?这也可以在每页的基础上设置 - http://msdn.microsoft.com/en-us/library/bz9tc508%28v=vs.85%29.aspx。