2017-07-31 110 views
0

我不能将c#日期时间7/31/2017 3:13:49 PM转换为SQL日期时间,同时将记录插入数据库。c#时间到sql日期时间

我做这个使用

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

但它给我的错误。

字符串未被识别为有效的DateTime。

+1

您正在使用哪些rdbms? –

+0

如果你使用sql server,日期时间是兼容的 – Ferus7

+0

首先你用不同的格式解析日期字符串,然后你试图解析格式字符串。查看['DateTime.ParseExact']的文档(https://msdn.microsoft.com/en-us/library/w2sa9yss(v = vs.110).aspx) –

回答

0

将其更改为年/月/日后,这可以帮助!

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

你的dateformat说'年月日',而你的日期是'月/日/年',这是不对的。请更改您的dateformat或您的日期格式。

这应该工作:

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

我明白了,但我想将值7/22/2017 3:13:49 AM插入到sql表中。这将是什么格式。 –

0

更改查询

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

实际上我正在使用LINQ到SQL。 –

0

尝试的方法DateTime.ParseExact和指定的日期格式,适合你,这里是从MSDN(https://msdn.microsoft.com/fr-fr/library/w2sa9yss(v=vs.110).aspx为例):

var dateString = "06/15/2008"; 
var format = "d"; 
try { 
    var result = DateTime.ParseExact(dateString, format, 
    CultureInfo.InvariantCulture); 
    Console.WriteLine("{0} converts to {1}.", dateString, 
    result.ToString()); 
    } 
    catch (FormatException) 
    { 
    Console.WriteLine("{0} is not in the correct format.", dateString); 
    }