从文本文件中读取日期/从DateTime中排除时间

时间:2013-03-15 01:33:16

标签: c# datetime text-files

我有一个文本文件,每行都是一个句子。最后的每个句子都有一个输入或制作的日期。例如:

  

blablablablabla 3/14/2013

当我从文本文件中读取行时,出现错误,说格式异常未处理。

x.DateOfSentence = 
    DateTime.ParseExact(lineArray[lineArray.Length-1], "M/D/YYYY", null);

其中x是Sentence对象的名称,DateOfSentence是名为Sentence的类中的访问者。

我已经尝试过常规DateTime.Parse,但仍然会给我带来错误。

当我从文本文件中读取日期时,有没有办法排除DateTime的时间部分?

2 个答案:

答案 0 :(得分:1)

如果您知道日期位于该行的末尾,并以空格与句子分隔,则可以找到并删除它:

int pos = line.LastIndexOf(' ');
if (pos != -1)
{
    line = line.Substring(0, pos);
}

这会占用一切空间,而不是约会。

所以你可以做的是:

var lines = new List<string>();
foreach (var line in File.ReadLines(filename))
{
    // do the above
    lines.Add(line);
}

// lines now is a list that contains all of the lines with the dates stripped.

答案 1 :(得分:0)

通过显示lineArray [lineArray.Length-1]中的内容进行一些调试。这将是您的错误的原因,因为它很可能不是日期。