2016-04-25 10 views
1

Hallo Ich habe eine Zeichenfolge dieses Typs: 20160104 Ich sollte es in das Format SqlServer datetime mit C# konvertieren, wie kann ich tun? Ich habe versucht mit diesem:Konvertieren String in Datetime für SqlServer mit C#

DataUltimaVariazione = Convert.ToDateTime("20160104"); 

aber Visual Studio geben Sie mir einen Fehler

+0

Wo kommt das her? Warum ist es eine * Zeichenfolge * anstelle eines DateTime-Werts? Wenn dies von einer 'date'- oder 'datetime'-Spalte stammt, rufen Sie sie als DateTime ab, * wandeln Sie sie nicht in Text um. –

+0

Sie lesen von einer Datei – rikideveloper

+1

Sie sollten mit SqlCommand-Klasse und Parametern arbeiten. oder Sie können dies verwenden: 'Date.ParseExact (dateString," yyyyddMM ", Anbieter)' –

Antwort

6

Versuchen

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

können Sie verwenden DateTime.ParseExact (https://msdn.microsoft.com/de-de/library/system.datetime.parseexact(v=vs.110).aspx) eine Zeichenfolge in Datetime zu konvertieren:

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

Sie könnten auch DateTime.TryParseExact (https://msdn.microsoft.com/de-de/library/h9b85w22(v=vs.110).aspx), die Ihnen mehr Kontrolle auf falsch formatiert Datetime Strings gibt:

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

danke ich habe mit diesem Code zu lösen – rikideveloper

Verwandte Themen