2017-01-25 1 views
0

Ich erhalte einen Fehler, der String wurde nicht als gültige Date Time erkannt.System.formatexception

Beschreibung: Bei der Ausführung der aktuellen Webanforderung trat während der Ausführung der eine nicht behandelte Ausnahme auf. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es im Code entstanden ist.

Ausnahmedetails: System.FormateException: String wurde nicht als gültiges Datum Uhrzeit erkannt. Hier

ist der Ort, wo ich die Ausnahme erhalten:

string validFrom="dd/MM/yyyy"; 
    { 
     lstExchangeRates.Add(new KangoGiftRepository.Orm.ExchangeRate(1, cell.Value.ToString(), decimal.Parse(importSheet.Cells[startRow, 2].Value.ToString()), DateTime.ParseExact(validFrom, "dd/MM/yyyy", null))); 
     startRow++; cell = importSheet.Cells[startRow, 1]; 
     valid = cell?.Value != null && cell.Value.ToString().Length == 3; 
    } 
+0

Dies ist der Code Um zu erfahren, wo im Erhalten Sie diesen Fehler –

+0

Wann haben Sie die Ausnahme? Bitte teilen Sie den Code –

+0

{ lstExchangeRates.Add (neue KangoGiftRepository.Orm.ExchangeRate (1, cell.Value.ToString(), dezimal.Parse (importSheet.Cells [startRow, 2] .Value.ToString()), DateTime .ParseExact (validFrom, "TT/MM/JJJJ", null))); startRow ++; Zelle = importSheet.Cells [startRow, 1]; value = Zelle? .Value! = Null && cell.Value.ToString(). Length == 3; } –

Antwort

1

Sie erhalten den Fehler, da die Zeichenfolge nicht in einem gültigen Datumsformat sind.

In Ihrem Codebeispiel sollte validFrom der tatsächliche Wert sein, nicht die Datumsformat-Zeichenfolge. Sie bekommen den Fehler, weil 'dd/MM/YYYY' nicht in 'TT/MM/JJJJ' geparst werden kann. '23/10/2016 'kann in' TT/MM/JJJJ 'geparst werden.

Hier ist ein Code-Snippet Daten zu analysieren:

string[] dateValues = { "30-12-2011", "12-30-2011", 
          "30-12-11", "12-30-11" }; 
    string pattern = "MM-dd-yy"; 
    DateTime parsedDate; 

    foreach (var dateValue in dateValues) { 
    if (DateTime.TryParseExact(dateValue, pattern, null, 
           DateTimeStyles.None, out parsedDate)) 
     Console.WriteLine("Converted '{0}' to {1:d}.", 
          dateValue, parsedDate); 
    else 
     Console.WriteLine("Unable to convert '{0}' to a date and time.", 
          dateValue); 
    } 

Um mehr über das Parsen Termine zu erfahren, besuchen https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

über gültige Formatstrings besuchen https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

Verwandte Themen