0

を使用しようとしていますDateTime.ParseExactが、エラーがスローされ続けます

文字列は有効な DateTime として認識されませんでした。

以下のスクリーンショットを見ると、項目が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返しますか?、 などのように、char1 つずつ検査してみてください。rawDescription[4][0]rawDescription[4][1]

于 2012-12-25T00:10:45.140 に答える
-3

rawDescription[4] を文字列に入れ、その文字列をメソッドに渡す必要があります。

于 2012-12-24T23:53:17.757 に答える