C#代码通过动态查询从数据库读取数据。
Select ID, TransDate from Table_01
业务逻辑正在处理数据并最终将日期再次放回数据库。
INSERT INTO Table_02
( ID,ClosingDate) VALUES
( 1,Convert(DateTime, '27/07/2011 12:00:00 AM',120))
由于我插入的日期格式是 dd/MM/yyyy。 Sql Server 不喜欢它并且 .net 抛出此错误:-
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value
如果我将其更改为 MM/dd/yyyy 或 yyyyMMdd 那么它就可以工作。
但是系统区域日期时间设置可以由任何用户随时更改,所以我正在寻找一些具体的解决方案。
最好的处理方法是什么?
最佳答案
转换样式120是:yyyy-mm-dd hh:mi:ss(24h)
。尝试改用 103 (dd/mm/yyyy
)。
INSERT INTO Table_02
( ID,ClosingDate) VALUES
( 1,Convert(DateTime, '27/07/2011 12:00:00 AM',103))
您可以找到样式 here 的文档.
关于c# - SQL Server 日期时间问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864234/