看板 C_Sharp 關於我們 聯絡資訊
今天早上測試好久,最後放棄了@@ 但是還是上來問一下各位前輩... Oracle 資料庫內的欄位是Date。然後,撈出來的結果是... string strDate = "2015/9/30 上午 11:30:26"; 我定義了許多格式來試圖Parse. string[] arrFormat = new string[]{ "yyyyMMdd HH:mm:ss", "yyyy/MM/dd tt hh:mm:ss", "yyyy/M/dd tt hh:mm:ss" } DateTime ParseResult1 = DateTime.ParseExact(strDate, arrFormat, CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces); 但是,最後仍是拋出Exception..... 最後,放棄C#,改由下SQL 直接TO_CHAR轉成可以Parse的格式... 不曉得有沒有人知道該怎麼解決呢?? 謝謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.138.167 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1443624601.A.EA3.html
Litfal: 試試看 DateTime dt = DateTime.Parse(strDate, new 09/30 23:14
Litfal: System.Globalization.CultureInfo("zh-TW")); 09/30 23:18
Litfal: 不過比較重要的是,你是用什麼方法去讀DB的... 09/30 23:19
感謝前輩回覆,我有試過直接用Parse。此種方法確實可行 DateTime dt = DateTime.Parse(strDate); //直接這樣就行了... 不過,好奇真的無法透過ParseExact嗎? 我讀取DB的方式是透過ODBC連線,把資料庫的資料抓回來並塞入DataTable。 ※ 編輯: don750421 (114.27.138.167), 10/01/2015 00:06:17
Litfal: 確定讀出來就是string嗎?有試過 10/01 00:45
Litfal: DateTime dt = (DateTime)dataRow["mydate"]; 10/01 00:46
Litfal: 你可以用dataTable.Columns["mydate"].DataType 確認 10/01 00:52
Litfal: 另外,你ParseExact沒有用到對的Format,應該用 "g" 或是 10/02 01:13
Litfal: "yyyy/M/d tt hh:mm:ss" 10/02 01:13
gamer880831: convert.todatetime 10/03 21:34