【问题标题】:datetime.parse and making it work with a specific formatdatetime.parse 并使其以特定格式工作
【发布时间】:2010-09-25 08:46:40
【问题描述】:

我有一个从 XML 文件返回的日期时间,格式为:

20080916 11:02

yyyymm hh:ss

我怎样才能让 datetime.parse 函数来处理这个问题?即解析它而不出错? 干杯

【问题讨论】:

    标签: c# asp.net .net-2.0


    【解决方案1】:
    DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);
    

    假设您的意思是分钟跟随小时,而不是秒 - 您的示例有点令人困惑。

    ParseExact documentation 详细说明了其他重载,以防您希望解析自动转换为世界时或类似的东西。

    正如@Joel Coehoorn 所提到的,还有使用TryParseExact 的选项,它将返回一个布尔值,指示操作成功或失败——我还在使用.Net 1.1,所以我经常忘记这个。

    如果需要解析其他格式,可以查看Standard DateTime Format Strings

    【讨论】:

    • 另外:标准 Xml 有它自己非常具体的 DateTime 格式,.Net Xml 工具应该能够读取它。
    • 在这种情况下,如果最后一个参数为空,它可以正常工作,但对于找到此 CultureInfo.InvariantCulture 的任何人,否则如果您的日期时间类似于“1823/01/01”,您可能会遇到问题。
    • @JoelCoehoorn standard XML specific DateTime format ?
    【解决方案2】:

    感谢您的提示,我用它来解析我的日期“20071122”,我需要添加 datetimestyles,我没有使用它并且它有效:

    DateTime dt = DateTime.MinValue;
    
    DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
    

    【讨论】:

      猜你喜欢
      • 2019-09-20
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多