C# DateTime.ParseExact

本文关键字:ParseExact DateTime | 更新日期: 2023-09-27 18:16:51

我有一个标签分隔的文件正在被解析,然后插入到数据库中。当我遇到日期列时,我无法解析它。

我的代码是:

var insert = DateTime.ParseExact(line[i], "d/M/yyyy h:mm", CultureInfo.InvariantCulture);

line[i]中的字符串格式为:7/7/2011 10:48, 10/20/2011 6:27

我得到的异常是

日历中不支持字符串表示的DateTimeSystem.Globalization.GregorianCalendar .

C# DateTime.ParseExact

您的格式字符串错误。改为

insert = DateTime.ParseExact(line[i], "M/d/yyyy hh:mm", CultureInfo.InvariantCulture);

这是因为您在line[i]中使用美式格式的日期,而在FormatString中使用英式格式的日期。

11/20/2011
M / d/yyyy

我猜你可能需要改变FormatString为:

"M/d/yyyy h:mm"

这可能是与此相关的so线程中呈现的文化相同的问题:为什么不能'使用"M/d/yyyy"

您已经指定了区域性,请尝试转义斜杠。

try this

var  insert = DateTime.ParseExact(line[i], "M/d/yyyy h:mm", CultureInfo.InvariantCulture);