【问题标题】:How to parse datetime based on computer format?如何根据计算机格式解析日期时间?
【发布时间】:2013-05-22 17:17:50
【问题描述】:

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

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

【问题讨论】:

    标签: c# datetime globalization


    【解决方案1】:

    尝试设置

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

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

    您也可以查看HttpContext.Request.UserLanguages 以获取有关客户的更多信息。

    【讨论】:

    • +1 - 这是 ASP.Net 答案(这可能是 OP 正在寻找的 - 控制台应用程序将自动获取本地文化)。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 2015-01-21
      • 1970-01-01
      相关资源
      最近更新 更多