C# c时间到sql日期时间

C# c时间到sql日期时间,c#,sql,sql-server,datetime,sql-server-2014,C#,Sql,Sql Server,Datetime,Sql Server 2014,将记录插入数据库时,我无法将c日期时间2017年7月31日下午3:13:49转换为SQL日期时间 我用的是 DateTime dt = DateTime.Parse("11/23/2010"); string toSqlDate= dt.ToString("yyyy-MM-dd HH:mm:ss"); DateTime finalDate = DateTime.Parse(toSqlDate); 但这给了我一个错误 字符串未被识别为有效的日期时间 将其更改为年/月/日后,这会有所帮助 var

将记录插入数据库时,我无法将c日期时间2017年7月31日下午3:13:49转换为SQL日期时间

我用的是

DateTime dt = DateTime.Parse("11/23/2010");
string toSqlDate= dt.ToString("yyyy-MM-dd HH:mm:ss");
DateTime finalDate = DateTime.Parse(toSqlDate);
但这给了我一个错误

字符串未被识别为有效的日期时间


将其更改为年/月/日后,这会有所帮助

var sqlDate = finalDate.Date.ToString("yyyy-MM-dd HH:mm:ss");

将其更改为年/月/日后,这会有所帮助

var sqlDate = finalDate.Date.ToString("yyyy-MM-dd HH:mm:ss");

你的日期格式是“年-月-日”,而你的日期是“月/日/年”,这是不对的。更改日期格式或日期格式

这应该起作用:

DateTime dt = DateTime.Parse("2010-11-23 00:00:00");
string toSqlDate= dt.ToString("yyyy-MM-dd HH:mm:ss");

你的日期格式是“年-月-日”,而你的日期是“月/日/年”,这是不对的。更改日期格式或日期格式

这应该起作用:

DateTime dt = DateTime.Parse("2010-11-23 00:00:00");
string toSqlDate= dt.ToString("yyyy-MM-dd HH:mm:ss");
将查询更改为

insert into table_name (column1) values ('" + dt.Value.ToString("yyyy-MM-dd") + "')
将查询更改为

insert into table_name (column1) values ('" + dt.Value.ToString("yyyy-MM-dd") + "')

请尝试DateTime.ParseExact方法,并指定适合您的日期格式,以下是MSDN中的一个示例:


请尝试DateTime.ParseExact方法,并指定适合您的日期格式,以下是MSDN中的一个示例:

将.Net日期时间转换为SQL Server日期时间。这意味着您根本不需要担心显示格式,因为DateTime 您只需将DateTime结构的实例作为参数传递给SqlCommand:

额外阅读:

从.Net日期时间到SQL Server日期时间。这意味着您根本不需要担心显示格式,因为DateTime 您只需将DateTime结构的实例作为参数传递给SqlCommand:


额外阅读:

您使用的是什么rdbms?如果您使用sql server,则日期时间是兼容的。首先,您要以不同的格式解析日期字符串,然后您要尝试解析格式字符串。查看@ZoharPeled的文档我正在使用sql server 2014。您正在使用什么rdbms?如果您使用sql server,则日期时间是兼容的。首先,您要以不同的格式解析日期字符串,然后您要尝试解析格式字符串。查看@ZoharPeled的文档我正在使用sql server 2014。实际上我正在使用linq to sql。实际上我正在使用linq to sql。我理解这一点,但我想在sql表中插入值7/22/2017 3:13:49 am。我理解这一点,但我想在sql表中插入值7/22/2017 3:13:49 AM。这是什么格式。