Я написал программу на C#, которая использует даты. Он принимает значение из таблицы SQL Server. Я использовал Windows 7, и программа работала нормально. Я имел эту строку кода:Невозможно преобразовать DateTime из SQL Server в C# DateTime
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.
И теперь читатель возвращается в утренние часы/P.M. формате, а по индексу 20 - м. или п.м.
Я попытался следующие вещи:
перефразируя строку кода:
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