我正在尝试使用DateTime.ParseExact
,但我不断收到错误
字符串未被识别为有效的DateTime。
查看下面的屏幕截图,我将我的项目存储在dateToParse
变量中(仅供参考)。
但是在底部,我试图设置Date
,它不想玩得很好。
Date = DateTime.ParseExact(rawDescription[4], "MM'/'dd'/'yyyy", null)
我也尝试过没有单引号和指定文化
Date = DateTime.ParseExact(rawDescription[4], "MM/dd/yyyy", CultureInfo.InvariantCulture)
知道出了什么问题吗?
答案 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]放入字符串并将字符串传递给方法。