我有一个日期时间从文本文件返回,格式为字符串:
星期六15-07-2016 00:55:54
,如
" dddd dd-MM-yyyy HH:mm:ss"
我正在尝试使用DateTime.ParseExact将其转换为DateTime格式,我的代码如下:
CultureInfo provider = CultureInfo.InvariantCulture;
string lastLine = File.ReadLines("logon.txt").Last(); //the date string is in the logon.txt
DateTime dt = DateTime.ParseExact(lastLine, "dddd dd-MM-yyyy HH:mm:ss",provider);
return dt;
我得到的异常是System.FormatException:{" String未被识别为有效的DateTime。"}
链接到登录txt:https://drive.google.com/file/d/0B1oTQq97VF44Z21pT2FzM01XbU0/view?usp=sharing
任何想法?
答案 0 :(得分:1)
问题是,您显示的日期是星期五,但字符串表示应该是星期六。更改文件的内容,而不是"星期六"它说"星期五"它应该工作。无论如何,这对我有用。
或者,您可以将日期部分更改为" 16-07-2016"并离开星期几"星期六"。无论哪种方式都应该有效。
以下是适用于我的代码:
CultureInfo provider = CultureInfo.InvariantCulture;
string lastLine = "Friday 15-07-2016 00:55:54";
DateTime dt = DateTime.ParseExact(lastLine, "dddd dd-MM-yyyy HH:mm:ss", provider);
Console.WriteLine(dt);
打印出来:
2016/7/15 12:55:54