2012-07-16 67 views
0

我想轉換幾個不同時間的時間,嘗試使用DateTime.ParseExactDateTime.TryParseExact,兩者都沒有爲我工作。ParseExact和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); 

我也嘗試過使用的格式,沒有一個字符串數組工作原理:

0123:

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

使用也試過

System.Globalization.DateTimeStyles.AllowWhiteSpaces 

回答

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); 

等等

+0

所有上述數據串它的工作? – Guapo 2012-07-16 16:55:58

+0

是的,只是在LINQPad中測試過。 – EkoostikMartin 2012-07-16 16:56:46