6

次の英国の書式文字列を解析しようとしていDateTimeます:24/01/2013 22:00

ただし、次のエラーが発生し続けます。

文字列は有効な DateTime として認識されませんでした。

CultureInfo.CurrentCultureen-GB正しい" " を返します

これが私のコードです

    [TestMethod]
    public void TestDateTimeParse()
    {
        DateTime tester = DateTime.ParseExact("24/01/2013 22:00", "d/M/yyyy hh:mm", CultureInfo.CurrentCulture);

        int hours = tester.Hour;
        int minutes = tester.Minute;

        Assert.IsTrue(true);
    }
4

3 に答える 3

19

hh12時間時計用です。HH代わりに使用する必要があります。

DateTime.ParseExact("24/01/2013 22:00", 
                    "d/M/yyyy HH:mm", // <-- here
                    CultureInfo.CurrentCulture)
于 2013-01-22T12:37:04.907 に答える
5

"hh"01から12までの12時間制を使用した、時間用です。

"HH"00から23までの24時間時計を使用して、時間

このようにしてみてください。

public static void Main(string[] args)
{
    DateTime tester = DateTime.ParseExact("24/01/2013 22:00", "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
}

これがDEMOです。

Custom Date and Time Format Stringsまた、MSDNからチェックアウトすることもできます。

于 2013-01-22T12:37:50.073 に答える
1

フォーマットが間違っています。これを試してください:

DateTime tester = DateTime.ParseExact("24/01/2013 22:00", "dd/MM/yyyy HH:mm", CultureInfo.CurrentCulture);
于 2013-01-22T12:34:22.793 に答える