使用DateTime.ParseExact抛出FormatException

时间:2012-12-24 23:49:18

标签: c# parsing datetime

我正在尝试使用DateTime.ParseExact,但我不断收到错误

  

字符串未被识别为有效的DateTime。

查看下面的屏幕截图,我将我的项目存储在dateToParse变量中(仅供参考)。

但是在底部,我试图设置Date,它不想玩得很好。

Date = DateTime.ParseExact(rawDescription[4], "MM'/'dd'/'yyyy", null)

我也尝试过没有单引号和指定文化

Date = DateTime.ParseExact(rawDescription[4], "MM/dd/yyyy", CultureInfo.InvariantCulture)

enter image description here

知道出了什么问题吗?

4 个答案:

答案 0 :(得分:3)

var dateToParse = rawDescription[4];在第一个字符前显示一个空格。添加对Trim的调用将解决问题。

Date = DateTime.ParseExact(rawDescription[4].Trim(), "MM'/'dd'/'yyyy", CultureInfo.InvariantCulture)

答案 1 :(得分:1)

您需要为格式提供程序指定不变文化,而不是null:

Date = DateTime.ParseExact(rawDescription[4], "MM/dd/yyyy", CultureInfo.InvariantCulture)

答案 2 :(得分:1)

也许你的字符串中有一个领先的空白字符,就像在" 03/27/2011"中一样。那是以前见过的。

您的字符串也可能包含不可见的字符,例如从左到右标记或不间断的零宽度空间,或者它们都被调用的任何内容。我们在Stack Overflow上有seen that before

rawDescription[4].Length返回什么?尝试逐一检查char,如rawDescription[4][0]rawDescription[4][1],等等。

答案 3 :(得分:-3)

您需要将rawDescription [4]放入字符串并将字符串传递给方法。