使用模式"MM/dd/yyyy hh:mm:ss"将String转换为DateTime

Sou*_*maZ 2 c# datetime date

我有一个字符串变量包含"02/27/2014 23:00:28" 当我使用以下代码将其转换为Datetime类型时,转换失败(测试返回false并parsedDate包含"01/01/0001 00:00:00")

码:

string date = "02/27/2014 23:00:28"
string pattern = "MM/dd/yyyy hh:mm:ss";
DateTime parsedDate;
bool parsedSuccessfully = DateTime.TryParseExact(date, pattern, null, DateTimeStyles.None, out parsedDate);
Run Code Online (Sandbox Code Playgroud)

谢谢!

Tim*_*ter 5

HH因为您使用24小时格式,所以需要使用大写字母.

MM/dd/yyyy HH:mm:ss
Run Code Online (Sandbox Code Playgroud)

您还需要使用CultureInfo.InvariantCulture而不是null确保/将其用作日期分隔符.否则它将被您的文化实际日期分隔符替换.*

bool test = DateTime.TryParseExact(date, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate);
Run Code Online (Sandbox Code Playgroud)