解析特定格式C#的日期时间值

And*_* B. 3 c# datetime parsing

有一个字符串2020-12-27 20:00:00.应用程序必须将其解析为DateTime结构.预期的格式是yyyy-MM-dd hh:mm:ss.我用:

DateTime.TryParseExact(timeString, "yyyy-MM-dd hh:mm:ss", 
                       CultureInfo.InvariantCulture, DateTimeStyles.None, out time)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.TryParseExact返回false.谁知道为什么?

Son*_*nül 8

您需要使用HH而不是说明hh符.

HH说明符用于24小时时钟格式(00to 23),但hh说明符用于12小时时钟格式(01to 12).

string s = "2020-12-27 20:00:00";
DateTime dt;
if(DateTime.TryParseExact(s, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
    // 27.12.2020 20:00:00
}
Run Code Online (Sandbox Code Playgroud)


Séb*_*rin 6

hh是12小时格式,你应该使用HH24小时

所以你的例子变成了:

DateTime.TryParseExact(timeString, "yyyy-MM-dd HH:mm:ss", 
                       CultureInfo.InvariantCulture, DateTimeStyles.None, out time)
Run Code Online (Sandbox Code Playgroud)