1

つい最近、私は今回24:14:38を解析しようとしていました。これは12:14:38AMでなければなりません。

これまでのところ、これは私の機能です

private static DateTime ParseDate(string time)
{
    DateTime result;
    if (!DateTime.TryParse(time, out result))
    {
        result = DateTime.ParseExact(time, "HHmmss", System.Globalization.CultureInfo.InvariantCulture);
    }
    return result;
}

これがその使い方です

    var time = "24:14:38";
    var result = ParseDate(time.Replace(":", ""));
    Console.WriteLine(result);

しかし、私はこのエラーを受け取り続けます

文字列で表される日時は、カレンダーSystem.Globalization.GregorianCalendarではサポートされていません。

解決済み2424時間システムでは無効です。代わりに、00:14:38を使用する必要があります。

4

1 に答える 1

1

単純。時間値が「24」の時間文字列は、有効な時間文字列ではありません。

有効な時間の時間値は、12時間の場合は1〜12、24時間の場合は0〜23です。

于 2013-02-20T00:20:01.383 に答える