我在C#中使用日期編寫了一個程序。它從SQL Server表中獲取值。我使用的是Windows 7並且程序運行良好。我有這行代碼:無法將DateTime從SQL Server轉換爲C#日期時間
DateTime fechaOperacion = Convert.ToDateTime(reader["FechaOperacion"]);
讀者在24小時格式返回的日期,我可以將其轉換成一個DateTime
變量。
現在,我做了一個系統升級到Windows 10的代碼,同一行拋出以下錯誤:
String was not recognized as a valid DateTime. there is an unknown word starting at index 20.
而且現在的讀者上午返回/下午格式,並在索引20有a.m或p.m.
我曾嘗試以下的事情:
改寫的代碼行:
Convert.ToDateTime(reader["FechaOperacion"], System.Globalization.CultureInfo.InvariantCulture)
reader.GetDateTime(reader.GetOrdinal("FechaOperacion"));
轉換的文化,24小時格式
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(1033);
但這一切,似乎工作,我不知道自己還能做些什麼。
定義「它似乎不工作」的轉化。尤其是,'reader.GetDateTime(reader.GetOrdinal(「FechaOperacion」))'的結果是什麼,這是正確讀取獨立於任何格式的DATETIME列的方法? –
究竟**是什麼**閱讀器[「FechaOperacion」]'返回?它提到'String'的事實意味着它不是「sql DateTime」 - SQL'datetime'值可以很好,不需要解析。那麼,它是什麼? –
如果'FechaOperacion'是一個DATETIME列,那麼它聽起來像是一個顯示問題。如果你做了'var dateStr = fechaOperacion.ToString(「dd/MM/yyyy HH:mm:ss」);'? 'dateStr'的價值是什麼? – Howwie