在我的网站中,我DateTime.TryParse()
用来解析日期时间数据。我的问题是我不知道格式。例如,如果用户使用 US 格式,则格式为mm/dd/yyyy
,而用户使用 UK,则使用dd/mm/yyyy
格式。
我认为格式是基于他们的计算机设置。那么,如何使用他们计算机中的格式解析字符串?
在我的网站中,我DateTime.TryParse()
用来解析日期时间数据。我的问题是我不知道格式。例如,如果用户使用 US 格式,则格式为mm/dd/yyyy
,而用户使用 UK,则使用dd/mm/yyyy
格式。
我认为格式是基于他们的计算机设置。那么,如何使用他们计算机中的格式解析字符串?
尝试设置
<system.web>
<globalization culture="auto" />
<system.web>
用于获取当前文化Web.Config
。CultureInfo.CurrentCulture
您还可以检查HttpContext.Request.UserLanguages
获取有关客户端的其他信息。
虽然 Frank59 的回答是一个好的开始,但您不应该完全依赖它。MSDN 文档特别指出:
完全依赖浏览器设置来确定页面的 UI 文化并不是最佳实践。用户经常使用未设置为其偏好的浏览器(例如,在网吧中)。您应该为用户提供一种方法来明确选择页面的语言或语言和文化(CultureInfo 名称)。
所以使用globalization culture="auto"
作为一种设置默认文化的方法,但为您的用户提供某种下拉列表来覆盖文化设置。