1

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

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

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

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

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

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

4

2 回答 2

7

您需要使用HH24 小时制而不是hh12 小时制。

MSDN 自定义日期和时间格式字符串

于 2012-10-11T16:06:37.407 回答
2

您使用的是 12 小时格式,而不是 24 小时格式。将您的电话更改为:

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

于 2012-10-11T16:09:34.427 回答