3

我将一些 DateTime 存储在 CSV 日志中:

DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff")

当我尝试阅读它时,我发现了类似的内容:

"05/15/2012 10:09:28.650"

问题是当我再次尝试将其转换为 DateTime 时......

DateTime.Parse("05/15/2012 10:09:28.650");

抛出异常“Invalid DateTime”或类似的东西......

如何正确重新读取 DateTime?

4

3 回答 3

6

您可以使用DateTime.ParseExact

string format = "MM/dd/yyyy hh:mm:ss.fff";
DateTime d = DateTime.ParseExact("05/15/2012 10:09:28.650",
                                format,
                                System.Globalization.CultureInfo.InvariantCulture);

标准日期和时间格式字符串

于 2012-05-15T10:55:44.180 回答
4

使用DateTime.ParseExact指定格式

String dateStr=DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff");
DateTime date = DateTime.ParseExact(dateStr,"MM/dd/yyyy hh:mm:ss.fff",System.Globalization.CultureInfo.InvariantCulture);
于 2012-05-15T10:54:24.023 回答
1

您应该使用方法来解析您的字符串。您必须创建一个类,实现 IFormatProvider,但如果您想使用自定义 DateTime 格式,这是我能想到的最佳方法。

于 2012-05-15T10:59:32.697 回答