我收到了一个错误 字符串未被识别为有效的日期时间。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息: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 :(得分:1)
您收到错误是因为您的字符串不是有效的日期格式。
在您的代码示例中, 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);
}
应该是实际值,而不是日期格式字符串。您收到错误的原因是' dd / MM / YYYY'无法解析为&#dd / MM / yyyy'。 &#39 23/10/2016年'可以解析为&#dd / MM / yyyy'。
以下是解析日期的代码段:
var geoXml = new geoXML3.parser({
map: map
});
geoXml.parse('file.kml');
要了解有关解析日期的详情,请访问https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx
要了解有效的格式字符串,请访问https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx