2012-07-16 58 views
2

我在UI上有以下字段:datepicker,hours下拉菜單,分鐘下拉菜單和am/pm下拉菜單。轉換爲12小時格式

在我的控制,我想綁在一起,這些領域並創建這樣一個DateTime值(5/18/2012 2:45 PM):

model.Scheduled = new DateTime(model.Scheduled.Value.Year, model.Scheduled.Value.Month, model.Scheduled.Value.Day, model.ScheduledHour + (model.ScheduledAMPM == "AM" ? 0 : 12), model.ScheduledMinute, 0); 

這在大多數的情況下,但而不是當我在小時下拉列表中選擇12。我應該如何重構上面的代碼行,以便它在所有情況下都能正常工作?

+0

我不明白這個問題。 DateTime不包含特定的格式。你確切的問題是什麼?需要更多的代碼來幫助你。 – 2012-07-16 17:11:54

+0

這是哪一種語言?選擇C#或Vb,而不是兩者。 – Drise 2012-07-16 17:18:12

回答

4

轉換上午12點和下午12點爲0和12取模小時12:

(model.ScheduledHour % 12) + (model.ScheduledAMPM == "AM" ? 0 : 12) 

我還建議編寫單元測試,以驗證所有的特殊情況。

相關問題