1

编码:

var str = "91212";
DateTime.ParseExact(str, "Hmmss", System.Globalization.CultureInfo.CurrentCulture);

错误:

"91212" is not a valid DateTime

似乎 c# 尝试使用H匹配91,这是不正确的时间。

如何解决?

4

2 回答 2

3

H根据 MSDN,被解释为:

小时,使用从 0 到 23 的 24 小时制。

所以你看到的行为是设计和记录的。

你能在前面91212加一个零吗?

于 2012-08-02T16:18:27.933 回答
1

我认为您必须将其强制为 6 个字符并相应地定义格式字符串。以下代码:

        var str = "91212";
        if (str.Length == 5)
        {
            str = "0" + str;
        }
        var dtDate = DateTime.ParseExact(str, "HHmmss", System.Globalization.CultureInfo.CurrentCulture);
        System.Diagnostics.Debug.WriteLine(dtDate.ToShortTimeString());

结果是:

9:12 AM
于 2012-08-02T16:26:32.393 回答