首页 > 解决方案 > 从错误的数据表中解析 DateTime 列

问题描述

我已经将一个非常大的 csv 文件转换为数据表,现在我正在解析每一列。我遇到了特定列中的数据不正确的问题。它应该是一个日期,即 2020 年 1 月 19 日,但它有 1/1/0001,所以它破坏了我的解析尝试。我正在尝试做的是在将表写回之前删除表中的行。

DateTime checkDate = new DateTime(2018, 01, 01, 0, 0, 0);
for(int i = dt.Rows.Count-1; i >= 0; i--)
{
    DataRow row = dt.Rows[i];
    DateTime AccountInformationDate = DateTime.Parse(row["AccountInformationDate"].ToString());

    if (DateTime.Compare(checkDate, AccountInformationDate) > 0)
    {
         row.Delete();
         counter_skipped++;
     }
}
dt.AcceptChanges();

当它尝试解析日期时出现异常。

标签: c#datatable

解决方案


您可以使用DateTime.TryParse来检查日期字符串是否正确。


推荐阅读