Lei*_*eia 4 c# sql-server datetime
我在C#编写了一个使用日期的程序.它从SQL Server表中获取值.我使用的是Windows 7,程序运行正常.我有这行代码:
DateTime fechaOperacion = Convert.ToDateTime(reader["FechaOperacion"]);
Run Code Online (Sandbox Code Playgroud)
读者以24小时格式返回日期,我能够将其转换为DateTime变量.
现在我对Windows 10进行了系统升级,同样的代码行引发了以下错误:
字符串未被识别为有效的DateTime.从索引20开始有一个未知单词.
现在读者返回am/pm格式,而索引20则是am或pm
我试过以下的事情:
将代码行改为:
Convert.ToDateTime(reader["FechaOperacion"], System.Globalization.CultureInfo.InvariantCulture)reader.GetDateTime(reader.GetOrdinal("FechaOperacion")); 将文化转换为24小时格式
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(1033);
Run Code Online (Sandbox Code Playgroud)但这些似乎都不起作用,我不知道还能做些什么.
最终,这里的根本问题是存储一个表示日期/时间的值作为文本数据(意思是某种[n][var]char({max|n}),或者是推动[n]text).这有很多问题:
你应该拥有的是datetime /date/ time/ etc列.然后将其存储为需要零解析的数字(不是字符串),并且可以可靠地工作而不会出现任何转换问题.
注意:可能是您正确存储它,但在select查询语句中格式化它.在这种情况下,就是不要这样做 ; 返回日期时间raw,让接收客户端担心如何显示它.
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |