2017-01-25 5 views
0

エラーが発生しました 文字列が有効な日付時刻として認識されませんでした。System.formatexceptionの取得

説明:現在のWeb要求の の実行中に、未処理の例外が発生しました。エラーについての詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

例外の詳細:System.FormateException:文字列が有効な日付時刻として として認識されませんでした。ここで

私は例外を取得場所です:

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

をご覧ください。このエラーが発生する –

+0

例外が発生したら?コード –

+0

{ 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]; 有効=セル?値!= null && cell.Value.ToString()。長さ== 3; } –

答えて

1

あなたの文字列が有効な日付形式ではありませんので、あなたがエラーを取得しています。

コードサンプルには、validFromが日付形式の文字列ではなく、実際の値である必要があります。 'dd/MM/YYYY'は 'dd/MM/yyyy'に解析できないため、エラーが発生しています。 '23/10/2016 'は' dd/MM/yyyy 'に解析できます。ここで

は、日付を解析するためのコードスニペットです:

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); 
    } 

有効な書式文字列の詳細についてはhttps://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

を訪問し、日付を解析の詳細については、これはコードイムあるhttps://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

関連する問題