我存储在一个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");
抛出一个异常“无效的日期时间”或类似的东西...
我怎样才能正确地重新读取日期时间?
我存储在一个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");
抛出一个异常“无效的日期时间”或类似的东西...
我怎样才能正确地重新读取日期时间?
您可以使用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);
标准日期和时间格式字符串
使用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);
您应该使用这种方法来分析您的字符串。 你将不得不作出一个类,imlementing的IFormatProvider,但如果你想使用自定义DateTime格式,这是我能想到的最好的方法。