DateTime.ParseExact - 英国日期和时间

JGi*_*tin 5 c# datetime

我正在尝试解析以下英国格式DateTime字符串:24/01/2013 22:00

但是,我不断收到此错误:

字符串未被识别为有效的DateTime.

CultureInfo.CurrentCulture返回" en-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);
    }
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 16

hh是12小时的时钟.你应该使用HH而不是.

DateTime.ParseExact("24/01/2013 22:00", 
                    "d/M/yyyy HH:mm", // <-- here
                    CultureInfo.CurrentCulture)
Run Code Online (Sandbox Code Playgroud)


Son*_*nül 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);
}
Run Code Online (Sandbox Code Playgroud)

这是一个DEMO.

您也可以Custom Date and Time Format Strings从 MSDN查看。