我正在尝试使用以下语句进行简单的解析:
//In actual code the date time value comes from db
var dateTime = new DateTime(2018, 04, 26);
var dtExtact = DateTime.ParseExact(dateTime.ToString(), "dd MMM yyyy HH:mm:ss:fff",null);
现在当我尝试这样做时出现错误,
System.FormatException: 'String was not recognized as a valid DateTime.'
我确实看过 MSDN样本,但它没有提供任何关于我的日期时间有什么问题的指示。
最佳答案
如果您想以特定格式解析日期时间字符串,请确保格式化的日期/时间字符串与解析器的格式匹配。
在您的示例中,“往返”日期/时间很容易通过重复使用相同的格式字符串来格式化日期和解析来实现:
var dateTime = new DateTime(2018, 04, 26);
const string dateFormat = "dd MMM yyyy HH:mm:ss:fff";
var dtExact = DateTime.ParseExact(
dateTime.ToString(dateFormat)
, dateFormat
, null
);
Console.WriteLine("{0} {1}", dateTime, dtExact);
关于c# - String 未被识别为有效的 DateTime 格式异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054086/