【问题标题】:"String was not recognized as valid Datetime. There is an unknown word starting at index 0" while reading CSV file back“字符串未被识别为有效的日期时间。从索引 0 开始有一个未知单词”,同时读取 CSV 文件
【发布时间】:2021-10-04 03:06:18
【问题描述】:

所以我使用 CSVhelper 来读取和写入 CSV 文件。我已经制作了一个具有以下属性的类来写入文件。

public class Proddeets {
public string ProductArea { get; set; }
public string Product { get; set; }
public DateTime TimeTaken{ get; set; }
}

当我试图读回文件时,我得到“字符串未被识别为有效的日期时间。从索引 0 开始有一个未知单词”错误

我尝试通过为 TimeTaken 属性创建一个函数来修复它

public void SetTimeTaken()
{DateTime today= DateTime.Today;
String s = today.ToString("dd-MM-yyyy");
TimeTaken=s.Trim();
}

我收到“无法将 DateTime 隐式转换为字符串”错误。我是 C# 新手,不知道该怎么做,请帮助

【问题讨论】:

  • 显示的代码不会产生编译错误。确保包含 exact 编译器错误。 (无论如何,TimeTaken = "string;" 是一个错误,因为 TimeTaken 是 DateTime,而不是字符串。)
  • 请附上出现错误的 CSV 文件样本。
  • CSV 文件只包含在 Proddeets 的类属性中给出的列名,即 ProductArea、product 和 TimeTaken
  • 向我们展示 CSV 的前 3 行以及您如何阅读它

标签: c# datetime tostring


【解决方案1】:

您正在尝试使用返回字符串的函数设置日期时间的值,请尝试改用TimeTaken=Convert.ToDateTime(s);

最好使用string 而不是String。

【讨论】:

  • 你说的我试过了,还是和以前一样的错误
  • *我已经尝试过你所说的,虽然“无法将 DateTime 隐式转换为字符串”错误消失了,但“索引 0 处的未知单词”错误仍然存​​在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多