当我在c#
中运行以下代码时string dt = "2017-07-09T17:50:21.000-0500";
string date = DateTimeOffset.Parse(dt).DateTime.ToString("yyyy-MM-dd HH:mm");
它将此作为输出
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
答案 0 :(得分:0)
@dlatikay!根据您的第一条评论,我将数据类型从DateTime更改为字符串并且它有效。
dTable.Columns.Add("created_on", typeof(string));
当数据类型是DateTime时,结果按预期进行,但在插入到sql时,值正在改变。现在,当iam将值作为字符串发送到sql时,它将该字符串转换为DateTime并且它有效。
谢谢大家的回复。