在下面的代碼中,keyValuePair [0]是0-23小時的字符串表示形式,即keyValuePair[0] == "2"
表示2:00 AM。 13下午1點。我希望能夠在12小時制和24小時制時鐘中顯示此值。格式爲「H」的DateTime.ParseExact引發格式異常
一個例子:
keyValuePair[0] == 13
使得time
等於 「13:00」 OR 1:00 PM」,這取決於當前的文化的值
time = DateTime.ParseExact(keyValuePair[0], "H", CultureInfo.CurrentCulture).ToString("t");
這隻能當keyValuePair [0。 ]有一個2位數的值,我將格式"H"
切換爲"HH"
。但是,我的輸入可能是1位數字輸入。當輸入是1位數字,我使用格式"HH"
時,我得到無效的格式異常
也許有更簡單的方法來做到這一點?我想我應該只使用「HH」並將keyValuePair [0]添加爲零?
對不起,這是一個錯字。 – Dave
如果是數字,你爲什麼必須將它解析爲'DateTime'?你可以將它解析爲數字並添加日期'new DateTime().AddHours(int.Parse(keyValuePair [0]))'並且設置你想要的任何方式... –
確實有一個點停止合理使用DateTime.Parse()。當然這應該是'time = new TimeSpan(int.Parse(keyValuePair [0]),0,0);' –