2017-07-31 120 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); 
    } 
相關問題