-2

次のコードは、「文字列が有効な日時として認識されませんでした」というエラーをスローします。

string text = "5/17/2013 8:08:48 PM";
string timeFormat = "dd-MM-yyyy HH:mm:ss";
DateTime.ParseExact(text, timeFormat, null);

そのテキスト フィールドを DateTime に変換する方法は?

明確にするために、日時文字列を変数に割り当てました。私のシナリオでは、日付文字列は datetimepicker コントロールから取得されます。

4

7 に答える 7

4
string text = "5/17/2013 8:08:48 PM";

string timeFormat = "M/d/yyyy h:mm:ss tt";

DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);

注: に渡すnullParseExact、パーサーが現在のカルチャを取得するようになります。これは、環境によって異なる動作をする可能性があります。厳密な形式を使用している場合は、パスCultureInfo.InvariantCultureして、パーサーがすべての環境で同じように動作するようにします

singledは、日付にゼロが埋め込まれた日だけでなくMh

于 2013-04-17T14:51:44.600 に答える
3

MSDNから;

文字列表現の形式は、指定された形式と正確に一致する必要があります。

このようにしてみてください。

string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/d/yyyy h:mm:ss tt";
DateTime date = DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
Console.WriteLine(date);

ここに がありDEMOます。

于 2013-04-17T14:55:16.550 に答える
3

次のフォーマット文字列が必要だと思います:"M/dd/yyyy h:mm:ss tt"

string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/dd/yyyy h:mm:ss tt";
DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);

私のために実行します。日がゼロで埋められているかどうかによって異なる場合ddがあることに注意してください。d

于 2013-04-17T14:51:55.367 に答える
2

これを試して:

string timeFormat = "M/d/yyyy h:mm:ss tt";

DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
于 2013-04-17T14:50:20.760 に答える
1
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/dd/yyyy h:mm:ss tt";
DateTime date = DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
于 2013-04-17T14:47:05.800 に答える
1

なぜそんなに難しくするのですか?

string text = "5/17/2013 8:08:48 PM";
DateTime dt = DateTime.Parse(text);

//dt = {2013-05-17 20:08:48}
于 2013-04-17T15:04:43.857 に答える
0

問題は、「PM」(tt) の形式がないことです。そのはず:

try{
string text = "5/17/2013 8:08:48 PM";

string timeFormat = "M/dd/yyyy HH:mm:ss tt";

DateTime.ParseExact(text,timeFormat,null); 

}   catch (FormatException) { ... }

このメソッドを使用する場合は、常にこの例外を処理する必要があることに注意してください。

于 2013-04-17T14:58:23.183 に答える