【问题标题】:Parsing a DateTime with ParseExact, what am I missing?用 ParseExact 解析 DateTime,我错过了什么?
【发布时间】:2012-10-12 00:09:34
【问题描述】:

我正在尝试将以下字符串解析为 DateTime:

“04-03-2008-16-18-08”

为了简化事情,我编写了这个单元测试,它总是抛出异常“System.FormatException:字符串未被识别为有效的日期时间。”

    [TestMethod]
    public void TemporaryDateTimeParseTest()
    {
        DateTime.ParseExact("04-03-2008-16-18-08", "dd-MM-yyyy-hh-mm-ss", null);
    }

格式应为日-月-年-时-分-秒(如上所示)。根据 MSDN 对我的描述,这似乎是正确的。我错过了什么?

我看到有人说 ParseExact 很尴尬,如果这是错误的使用方法,我该如何使用常规 Parse 方法来获取这种格式?

【问题讨论】:

    标签: c# .net datetime


    【解决方案1】:

    您需要使用 HH 来表示 24 小时制,而不是使用 hh 来表示 12 小时制。

    MSDN Custom Date and Time Format Strings

    【讨论】:

    • 像忍者一样快,打败我。 +1
    【解决方案2】:

    您使用的是 12 小时格式,而不是 24 小时格式。把你的电话改成这样:

    DateTime.ParseExact("04-03-2008-16-18-08", "dd-MM-yyyy-HH-mm-ss", null);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多