2016-08-01 4 views
-2

Ich versuche, eine Datumszeichenfolge in mm/dd/yyyy bisher Typ zu analysieren, aber es löst einen Fehler sagen:Datum Parse löst Fehler in ASP.NET

String nicht als gültiges Datetime erkannt wurde.

Dies ist der Code Ich verwende:

Dim mydate As Date 
If filter = 4 Then 
    mydate = Date.ParseExact(datepart, "mm/dd/yy", System.Globalization.DateTimeFormatInfo.InvariantInfo) 
End If 

Ich verstehe nicht, was ich falsch gemacht habe, ist jede Hilfe dankbar.

+0

Bitte zeigen Sie den Inhalt von 'datepart' analysiert wird. –

+0

Was ist der Wert von "datepart", wenn diese Ausnahme ausgelöst wird? – TZHX

+0

Ich denke, das Format sollte "mm/tt/jjjj" sein. Stellen Sie sicher, dass die Datepart-Variable das angegebene Format hat. –

Antwort

1

Ihr Datumsformat ist falsch, verwenden MM/dd/yyyy statt mm/dd/yy Versuch unter

Date.ParseExact(datepart, "MM/dd/yyyy", CultureInfo.InvariantCulture) 
+0

Leider ist es nicht der Grund. Ich versuchte und wieder zeigt es den gleichen Fehler beim Versuch zu analysieren –

+0

sorry einige Fehler, versuchen Sie meine aktualisierte – Mostafiz

2

Sie haben zwei kleine Fehler in der Format-String:

DateTime mydate = DateTime.ParseExact("07/27/2016", 
             "MM/dd/yyyy", 
             System.Globalization.DateTimeFormatInfo.InvariantInfo); 
  1. Monate werden von "MM" analysiert nicht "mm" (Kleinschreibung ist für Minuten)
  2. Die fo ur stelliges Jahr von "yyyy" nicht "yy"
+0

Vielen Dank .. Das ist genau der Fehler! –

0
CultureInfo provider = CultureInfo.InvariantCulture; 

// Parse date-only value with invariant culture. 
string dateString = "06/15/2008"; 
string format = "d"; 

var result = DateTime.ParseExact(dateString, format, provider);