C#将日期(日-月-年)转换为MM/dd/yyy错误字符串未被识别为有效的日期时间

C#将日期(日-月-年)转换为MM/dd/yyy错误字符串未被识别为有效的日期时间,c#,datetime,C#,Datetime,我正在从csv中读取日期,该csv的日期格式为“2018年3月8日”。我正在使用DateTime.ParseExtract将其转换为日期格式“MM/dd/yyyy”,但得到的错误如下: 字符串未被识别为有效的日期时间 这是一份复印件: using System.Globalization; DateTime.ParseExact("8-Mar-18", "MM/dd/yyyy", CultureInfo.InvariantCulture); 如何将其转换为MM/dd/yyy 谢谢大家 这是一

我正在从csv中读取日期,该csv的日期格式为“2018年3月8日”。我正在使用DateTime.ParseExtract将其转换为日期格式“MM/dd/yyyy”,但得到的错误如下:

字符串未被识别为有效的日期时间

这是一份复印件:

using System.Globalization;

DateTime.ParseExact("8-Mar-18", "MM/dd/yyyy", CultureInfo.InvariantCulture);
如何将其转换为MM/dd/yyy


谢谢大家

这是一个两步的过程

DateTime d = DateTime.ParseExact("8-Mar-18", "d-MMM-yy", CultureInfo.InvariantCulture);
string s = d.ToString("MM/dd/yyyy");

它可以在一条线上完成

var s = DateTime.ParseExact("8-Mar-18", "d-MMM-yy", CultureInfo.InvariantCulture).ToString("MM/dd/yyyy");

“2018年3月8日”不是“MM/dd/yyyy”,是吗?进一步的日期没有格式,因此这可能都是零。如果要将字符串解析为日期时间,请使用正确的格式字符串。结果将是一个没有任何格式的DateTime对象。这是一个二进制值
DateTime.Parse(“8-Mar-18”,CultureInfo.InvariantCulture)
工作正常。它返回一个DateTime对象,其值为2018年3月8日。格式设置仅在解析或生成字符串期间应用。如果要以某种方式显示日期时间,请使用格式字符串,或在用于显示生成字符串而不是日期时间的控件或UI元素中设置相应的
格式
属性。DateTime没有格式
DateTime.Parse(“18年3月8日,CultureInfo.InvariantCulture)
也可以,没有理由使用
ParseExact