14

メソッドを使用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」として確認する必要があります。

どんな提案でも大歓迎です。

4

3 に答える 3

32

サポートする可能性のある形式のコレクションを渡すことができる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
}
于 2012-07-03T12:05:47.400 に答える
2

TryParseExactあなたのケースではフォーマットが固​​定されているように見えるので、使用する必要があります。

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

DateTime.ParseExact([yourdatehere],
                    new[] { "dd/MM/yyyy", "dd/M/yyyy" },
                    CultureInfo.InvariantCulture,
                    DateTimeStyles.None);
于 2012-07-03T12:07:09.730 に答える
0

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

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

于 2012-07-03T13:01:53.577 に答える