【问题标题】:Getting system.formatexception获取 system.formatexception
【发布时间】:2017-01-25 06:10:34
【问题描述】:

我收到一个错误 字符串未被识别为有效的日期时间。

描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详细信息: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;
    }

【问题讨论】:

  • 这是我收到此错误的代码
  • 什么时候出现异常?请分享代码
  • { 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)));开始行++;单元格 = importSheet.Cells[startRow, 1];有效 = 单元格? }
  • Edit 你的问题,而不是将代码粘贴到 cmets 中。
  • validFrom 的值是多少?

标签: c# datetime


【解决方案1】:

您收到错误是因为您的字符串不是有效的日期格式。

在您的代码示例中,validFrom 应该是实际值,而不是日期格式字符串。您收到错误是因为“dd/MM/YYYY”无法解析为“dd/MM/yyyy”。 '23/10/2016' 可以解析为 'dd/MM/yyyy'。

这是解析日期的代码sn-p:

  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

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2018-11-09
    • 2019-09-24
    • 1970-01-01
    相关资源
    最近更新 更多