一直試圖解決這一個小時... ...日期時間解析困境在C#
string date = "2009-09-23T13:00:00"
DateTime t = new DateTime();
t = DateTime.ParseExact(date, "HH:mm", null);
結果此異常:
System.FormatException被未處理 消息=「字符串未被識別爲有效的DateTime「。
一直試圖解決這一個小時... ...日期時間解析困境在C#
string date = "2009-09-23T13:00:00"
DateTime t = new DateTime();
t = DateTime.ParseExact(date, "HH:mm", null);
結果此異常:
System.FormatException被未處理 消息=「字符串未被識別爲有效的DateTime「。
t = DateTime.ParseExact(date, "yyyy-MM-ddTHH:mm:ss", null);
隨着ParseExact,你想獲得一個字符串,並告訴解析器的字符串是什麼格式,上面的線將它轉換爲有效的DateTime。
如果您希望僅顯示小時和分鐘,那麼您需要添加如下內容:
string myString = t.ToString("HH:mm");
ParseExact要求字符串與格式完全匹配。這一個沒有。你需要yyyy-MM-ddTHH:mm:ss作爲你的字符串。
文檔說明了一切:
字符串 表示的格式必須指定 格式完全匹配或異常是 拋出。
您的日期字符串與格式HH:mm不匹配。
順便說一句,你可以離開= new DateTime();一部分離開。
您試圖指定與輸入不匹配的格式。 ParseExact
要求您指定輸入格式;你不能簡單地指定一個格式來指示你想要提取哪些組件。
這裏需要使用的格式是"yyyy-MM-ddTHH:mm:ss"
。
但是,如果這看起來像XML日期/時間格式,那麼使用XmlConvert.ToDateTime
方法可能會更好,因爲它可以處理XML日期格式規範的微妙之處。
XmlConvert是我正在尋找的答案(否則我會添加它;-p) – 2009-12-31 14:56:38
但是,如果我想要一個只包含小時和分鐘的DateTime? – 2009-12-31 14:55:24