无法正确解析Excel单元格中的日期

时间:2018-06-28 12:06:03

标签: c# excel date parsing datetime

我正在导入Excel行,其中一列是“日期”字段。我收到日期的情况有两种。

第一是我正确地以Double形式收到日期。对于这种情况,可以使用简单的DateTime.FromOADate(parsedDouble)

第二个场景是出于某种原因,客户端没有正确格式化单元格格式,或者虽然是有效日期,但单元格中的值仍未被正确识别。例如,日期将为1/12/2016,英国格式的日期为1st December 2016。 Excel还传递单元格的格式信息,因此在这种情况下,它通过单元格格式“ dd/mm/yyyy ”传递。这是excel中正确的日/月/年格式,但是我需要能够在c#中解析它,但由于小写的mm分钟而不是个月

因此以下操作无效。

var x = DateTime.ParseExact("12/12/2016", "dd/mm/yyyy", System.Globalization.CultureInfo.InvariantCulture);

它将输出 12/01/2016 00:12:00

我环顾四周,似乎找不到其他遇到相同问题的人,而且我不确定如何处理此问题。

一个显而易见的(不受欢迎的)解决方案是对其进行破解,并将 dd/mm/yyyy 的excel格式映射到 dd/MM/yyyy

0 个答案:

没有答案