-1

文字列値を日時に変換しようとしています。この質問が何度も出されたことは知っています。しかし、私はほとんどすべての答えをチェックしました。しかし、私の問題に対する答えは得られませんでした。

以下は私のコードです:

string ObjTime = "5/4/2013 10:30 PM";

DateTime d = DateTime.ParseExact(ObjTime, "dd/MM/yyyy H:mm", CultureInfo.CurrentCulture);

また、システムの日時形式を変更して確認しました。

また、私はこれを使用しています:

DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy H:mm tt", CultureInfo.CurrentCulture);

誰でもこの問題を解決するのを手伝ってもらえますか?

また、フォーマットを変更してチェックしましd/m/yyy H:mmたが、それでもエラーが発生します。を使用してVisual Studio 2012います。

4

3 に答える 3

2

問題を確認したところ、文字列の形式が正しくないように思われるため、ParseExact がエラーをスローしています。

文字列を変更した場合

string ObjTime = "5/4/2013 10:30 PM";

string ObjTime = "05/04/2013 10:30 PM";

コードは機能します

こちらもチェック

ここに画像の説明を入力

于 2013-04-05T11:42:32.377 に答える
1

文字列には 1 桁の日と月があり、2 桁の日/月のみをサポートする形式で解析しようとしています

やったほうがいい:

string ObjTime = "5/4/2013 10:30 PM";
DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy h:mm tt", CultureInfo.CurrentCulture);

解析のために 1 桁と 2 桁の日/月をサポートする singledとを使用する必要があります。M

文字列に含まれているため、小文字hも使用する必要PMがあります。したがって、最終的な形式は次のようになります"d/M/yyyy h:mm tt"

于 2013-04-05T11:36:00.157 に答える
1

書式文字列を明示的に指定する代わりに、この書式が有効なカルチャを指定してみることができます。EN-US カルチャの場合:

  DateTime.Parse(ObjTime, CultureInfo.GetCultureInfo("en-us"));
于 2013-04-05T11:33:20.307 に答える