2013-12-12 42 views
3

我在下面寫了下面的代碼將AM/PM轉換爲12小時轉換。此代碼工作罰款爲AM,但它不適用於PM並生成錯誤Provided string for conversion is invalid。請任何人回答我的問題?轉換爲12小時格式不起作用

string st = "10:01 PM"; 
DateTime t = DateTime.ParseExact(st, "H:mm tt", CultureInfo.InvariantCulture); 
TimeSpan ts = t.TimeOfDay; 
editslug.Text = t.TimeOfDay.ToString(); 

回答

11

這是因爲H是24小時制。您需要使用h

DateTime t = DateTime.ParseExact(st, "h:mm tt", CultureInfo.InvariantCulture); 

我還認爲你可能會尋找hh如果時間來到像這樣01:14 AM的時間少於10 但是,我不太瞭解您的數據以確保這一點。

+0

對於最後一段,NO,單個「h」可以處理單個數字和兩個數字小時部分,比如'1','01','10'等等。日月同樣如此。事實上,使用單個字母進行分析更安全。注意到@Habib, – Habib

+0

。我會根據你的評論來打擊它。 –

+1

謝謝它的工作,需要6分鐘作爲答案 – user2835256

相關問題