如何根据计算机格式解析日期时间?

时间:2013-05-22 17:17:50

标签: c# datetime globalization

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

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

2 个答案:

答案 0 :(得分:4)

尝试设置

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

并使用CultureInfo.CurrentCulture获取当前文化。

此外,您可以查看HttpContext.Request.UserLanguages以获取有关客户的其他信息。

答案 1 :(得分:3)

虽然Frank59的答案是一个良好的开端,但你不应该完全依赖它。 MSDN documentation具体说明:

  

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

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