尝试分析日期时出错

本文关键字:出错 日期 | 更新日期: 2023-09-27 18:27:53

我使用itextsharp从pdf文件中提取修改后的日期。字符串以以下格式返回:D:20120224093340。我正试图将该字符串解析为日期时间,如下所示:

string modDate = "";
reader.Info.TryGetValue("ModDate", out modDate);
System.Globalization.CultureInfo provider = 
System.Globalization.CultureInfo.InvariantCulture;
pdfModDate = DateTime.ParseExact(formattedDate, "D:yyyyddMMHHmmss", provider);

但我收到了以下错误消息:日历System.Globalization.GregorianCalendar.中不支持字符串表示的DateTime

我不知道这个错误是什么意思。这个代码应该可以工作。。。

尝试分析日期时出错

您的月份是24,公历不支持:-)

D:20120224093340
D:yyyyddMMHHmmss
        ^^

尝试"D:yyyyMMddHHmmss"。你换了天和月。

您提供的日期格式如下:

D:yyyyMMddHHmmss

不是英语格式MM/dd/yyyy

您可以尝试从字符串的开头剥离D:。ParseExact函数将大写D识别为日期格式字符串中的一个特殊字符。根据MSDN,"D"是长日期格式的缩写。

此外,您需要切换日期和月份。他们返回的顺序是年、月、日、小时、分钟、秒。

    string date = "D:20120224093340";
        System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
        DateTime dateTime = DateTime.ParseExact(date,"D:yyyyMMddHHmmss",provider);

切换ddMM。