ParseExact和TryParseExact没有按预期工作

时间:2012-07-16 16:44:41

标签: c# string parsing datetime .net-4.0

我正在尝试转换几个不同的时间,尝试使用DateTime.ParseExactDateTime.TryParseExact,但两者都不适用于我。

我必须解析的数据采用以下格式:

5 PM
1:00
1:00 AM
12:00
18:00

我尝试了以下内容:

DateTime.TryParseExact(stDate, "H:mm", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out visStartHour);

visStartHour = DateTime.ParseExact(stDate, "H:mm", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);

我还尝试使用字符串数组格式,但没有用:

string[] timeFormats = new string[] { "H tt", "H:mm tt", "HH:mm", "H:mm" };

还尝试使用:

System.Globalization.DateTimeStyles.AllowWhiteSpaces

1 个答案:

答案 0 :(得分:2)

只需使用TryParse()

即可
DateTime result;

DateTime.TryParse("5 PM", out result);
DateTime.TryParse("1:00", out result);
DateTime.TryParse("1:00 AM", out result);
DateTime.TryParse("12:00", out result);
DateTime.TryParse("18:00", out result);

等...