1

こんにちは、この文字列「Saturday 04/23/2013 11:05 PM」を有効な DateTime 形式に変換する方法はありますか?

この条件を実行するたびに FormatExceptionError が返されるためです。

曜日が正しくないため、文字列は有効な DateTime として認識されませんでした。

if(DateTime.Parse("Saturday 04/23/2013 11:05 PM") < DateTime.Today)
{
//code here
}

この問題の解決策はありますか?

4

4 に答える 4

4

使用するDateTime.ParseExact()

string _strdate = "Tuesday 04/23/2013 11:05 PM"; // should be tuesday
DateTime _date = DateTime.ParseExact(_strdate,"dddd MM/dd/yyyy hh:mm tt", 
                                     CultureInfo.InvariantCulture)

ここに画像の説明を入力

于 2013-04-24T02:34:39.740 に答える
1

無効なデータが予想される場合は、TryParseまたはTryParseExactを使用する必要があります

DateTime myDate;
if(DateTime.TryParse("Saturday 04/23/2013 11:05 PM", out myDate))
{
   if (myDate < DateTime.Today) { //code here }
}
else
{
   //Do something here for invalid data
}
于 2013-04-24T02:42:03.640 に答える
0

曜日が正しくないため、文字列は有効な DateTime として認識されませんでした。

2013 年 4 月 23 日は土曜日ではなく火曜日です。

日時ステートメントが矛盾している場合、例外が発生する可能性があります。

それが役立つことを願っています...

于 2013-04-24T02:38:25.127 に答える
0

日付と曜日が一致しません。2013 年 4 月 23 日は土曜日ではなく火曜日です。世界のどのカレンダーでも、この日が土曜日になることはありません。そのため、エラーが発生しますString was not recognized as a valid DateTime because the day of week was incorrect.

したがって、日付を変換してから検証する可能性があります。したがって、検証に失敗しています。

しかし、火曜日が提供されている場合、これは機能します。

string str = "Tuesday 04/23/2013 11:05 PM";

DateTime dt = DateTime.ParseExact(str, "dddd MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture);

ここに画像の説明を入力

于 2013-04-24T02:40:04.600 に答える