0

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

字符串未被识别为有效的日期时间。

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

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

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

我也尝试过不带单引号和指定文化的

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

在此处输入图像描述

知道出了什么问题吗?

4

4 回答 4

3

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

Date = DateTime.ParseExact(rawDescription[4].Trim(), "MM'/'dd'/'yyyy", CultureInfo.InvariantCulture)
于 2012-12-25T00:12:59.910 回答
1

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

Date = DateTime.ParseExact(rawDescription[4], "MM/dd/yyyy", CultureInfo.InvariantCulture)
于 2012-12-24T23:55:12.887 回答
1

也许您的字符串中有一个前导空格字符,如" 03/27/2011". 这是以前见过的。

您的字符串还可能包含不可见字符,例如从左到右的标记或不间断的零宽度空格,或者它们都称为的任何字符。我们以前在 Stack Overflow 上看到过。

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

于 2012-12-25T00:10:45.140 回答
-3

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

于 2012-12-24T23:53:17.757 回答