2016-04-25 47 views
1

你好,我有這種類型的字符串:20160104我應該將它轉換成SqlServer datetime格式與C#,我該怎麼辦?我曾嘗試用這樣的:將字符串轉換爲SqlServer的日期時間用C#

DataUltimaVariazione = Convert.ToDateTime("20160104"); 

但視覺工作室給我一個錯誤

+0

這是從哪裏來的?爲什麼它是*字符串*而不是DateTime值?如果這來自'date'或'datetime'列,將它作爲DateTime檢索,*不*將它轉換爲文本 –

+0

它從文件 – rikideveloper

+1

中讀取,您應該使用SqlCommand類和Parameters。或者你可以使用這個:'Date.ParseExact(dateString,「yyyyddMM」,provider)' –

回答

6

嘗試

var myResultDate = DateTime.ParseExact("20160104", 
             "yyyyMMdd", 
             CultureInfo.InvariantCulture); 
2

您可以使用DateTime.ParseExacthttps://msdn.microsoft.com/de-de/library/system.datetime.parseexact(v=vs.110).aspx)將字符串轉換爲日期時間:

DateTime dateTime = DateTime.ParseExact("20160104", "yyyyMMdd", 
CultureInfo.InvariantCulture); 

你也可以使用DateTime.TryParseExact(https://msdn.microsoft.com/de-de/library/h9b85w22(v=vs.110).aspx),它可以更好地控制格式錯誤的日期時間字符串:

DateTime dateTime; 
if (DateTime.TryParse("20160104", "yyyyMMdd", 
CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime)) 
{ 
    Console.WriteLine(dateTime); 
} 
+0

謝謝你,我已經解決了這個代碼 – rikideveloper

相關問題