web-dev-qa-db-ja.com

DateTime.TryParseメソッドによる有効な日付チェック

使ってます Datetime.TryParse有効な日時を確認する方法。入力された日付文字列は、任意の文字列データになります。ただし、指定された日付が無効であるため、falseが返されます。

DateTime fromDateValue;
if (DateTime.TryParse("15/07/2012", out fromDateValue))
{
    //do for valid date
}
else
{
    //do for in-valid date
}

編集:私は逃しました。 「15/07/201212:00:00」として有効な日付を確認する必要があります。

任意の提案を歓迎します..。

10
Sujit

TryParseExact メソッドを使用すると、サポートしたい可能な形式のコレクションを渡すことができます。 TryParseメソッドはカルチャに依存するため、使用する場合は十分に注意してください。

したがって、たとえば:

DateTime fromDateValue;
string s = "15/07/2012";
var formats = new[] { "dd/MM/yyyy", "yyyy-MM-dd" };
if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out fromDateValue))
{
    // do for valid date
}
else
{
    // do for invalid date
}
25
Darin Dimitrov

ケースでフォーマットが修正されているように見えるため、TryParseExactを使用する必要があります。

のようなものもあなたのために働くことができます

DateTime.ParseExact([yourdatehere],
                    new[] { "dd/MM/yyyy", "dd/M/yyyy" },
                    CultureInfo.InvariantCulture,
                    DateTimeStyles.None);
1
V4Vendetta

他の人が言ったように、あなたはTryParseExactを使うことができます。

詳細および時間の使用については、 MSDNドキュメント を確認してください。

0
Gianni B.