DateTime.ParseExact并使其与自定义格式一起使用

时间:2016-07-15 22:27:20

标签: c# asp.net

我有一个日期时间从文本文件返回,格式为字符串:

  

星期六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

任何想法?

1 个答案:

答案 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