c# - String 未被识别为有效的 DateTime 格式异常

标签 c# .net datetime datetime-format

我正在尝试使用以下语句进行简单的解析:

//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);

Demo.

关于c# - String 未被识别为有效的 DateTime 格式异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054086/

相关文章:

c# - 如何测试 Webbrowser 在导航到新 URL 时是否出现连接错误?

c# - 什么导致 .NET 中的内存碎片

c++ - 转换从公历开始到现在的天数

c# - Regex.Replace 用转义字符添加 0

c# UTF8 GetString from bytes array 不等于 php chr 函数

.net - 这个语法是什么: "Component.For<IOutput>()"?

.net - 控制台应用程序相对于 Windows 服务的好处

Python 将 datetime.time 转换为箭头

c# - 从日期 vb.net 计算耗时?

c# - 如何调用(执行)一个函数,其名称存储在数据库中?