Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在sql server中插入ISO日期_C#_Sql Server_Date_Datetime - Fatal编程技术网

C# 在sql server中插入ISO日期

C# 在sql server中插入ISO日期,c#,sql-server,date,datetime,C#,Sql Server,Date,Datetime,当我在c中运行下面的代码时# 它将此作为输出 2017-07-09 17:50 但在将相同的数据插入到数据库时,它会在时间上增加+5小时,并作为 2017-07-09 22:50 有人能帮我在数据库中插入相同的日期(2017-07-09 17:50)吗 更新1 这是我完整的简化代码 DataSet dSet = new DataSet(); DataTable dTable = new DataTable(); dTable.Columns.Add("created_on", typeof(D

当我在c中运行下面的代码时#

它将此作为输出

2017-07-09 17:50

但在将相同的数据插入到数据库时,它会在时间上增加+5小时,并作为

2017-07-09 22:50

有人能帮我在数据库中插入相同的日期(2017-07-09 17:50)吗


更新1

这是我完整的简化代码

DataSet dSet = new DataSet();
DataTable dTable = new DataTable();
dTable.Columns.Add("created_on", typeof(DateTime));

foreach (var item in items)
{
DataRow dRow = dTable.NewRow();
dRow["created_on"] = DateTimeOffset.Parse(item.createdon).DateTime;
//-- in item.createdon i get the date like this "2017-07-09T17:50:21.000-0500";
dSet.Tables[0].Rows.Add(dRow);
}
完成循环后,通过存储过程将数据以xml形式发送到数据库以进行插入

在数据库中插入后,该行将更新为以下日期

2017-07-09 22:50


@德拉提凯!根据您的第一条评论,我将数据类型从DateTime更改为string,结果成功了

dTable.Columns.Add("created_on", typeof(string));
当数据类型为DateTime时,结果会如预期的那样出现,但在插入到sql时,值会发生变化。现在,当iam将值作为字符串发送到sql时,它正在将该字符串转换为DateTime,并且工作正常

dTable.Columns.Add("created_on", typeof(string));

谢谢大家的回复。

由于您可能要将其插入带有
datetime
列的表中,而不是作为字符串,请显示相关代码。最佳选择是某些时区转换问题,但信息太少很难判断。寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建一个最小、完整且可验证的示例。您能告诉我们服务器所在的时区与您所在的时区吗?您要插入的列的数据类型是什么?您可以发布您的sql代码吗?“通过存储过程以xml形式”>这将是有趣的部分。到目前为止,无法再现您给出的代码的问题,
DateTimeOffset.Parse
的文档指定部分之间应该有空白,但它仍然适用于您的示例数据,最终在
dSet
中显示为2017-07-09 17:50:21.000