2

在我的网站中,我DateTime.TryParse()用来解析日期时间数据。我的问题是我不知道格式。例如,如果用户使用 US 格式,则格式为mm/dd/yyyy,而用户使用 UK,则使用dd/mm/yyyy格式。

我认为格式是基于他们的计算机设置。那么,如何使用他们计算机中的格式解析字符串?

4

2 回答 2

4

尝试设置

<system.web>
    <globalization culture="auto" />
<system.web>

用于获取当前文化Web.ConfigCultureInfo.CurrentCulture

您还可以检查HttpContext.Request.UserLanguages获取有关客户端的其他信息。

于 2013-05-22T17:24:11.803 回答
3

虽然 Frank59 的回答是一个好的开始,但您不应该完全依赖它。MSDN 文档特别指出:

完全依赖浏览器设置来确定页面的 UI 文化并不是最佳实践。用户经常使用未设置为其偏好的浏览器(例如,在网吧中)。您应该为用户提供一种方法来明确选择页面的语言或语言和文化(CultureInfo 名称)。

所以使用globalization culture="auto"作为一种设置默认文化的方法,但为您的用户提供某种下拉列表来覆盖文化设置。

于 2013-05-23T04:06:39.747 回答