簡體   English   中英

獲取system.formatexception

[英]Getting 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;
    }

您收到錯誤消息,因為您的字符串格式無效。

在您的代碼示例中, 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/zh-cn/library/w2sa9yss(v=vs.110).aspx

要了解有效的格式字符串,請訪問https://msdn.microsoft.com/zh-cn/library/az4se3k1(v=vs.110).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM