web-dev-qa-db-fra.com

vérification de date valide avec la méthode DateTime.TryParse

J'utilise la méthode Datetime.TryParse pour vérifier la date/heure valide. la chaîne de date d'entrée serait n'importe quelle chaîne de données. mais renvoie false comme date spécifiée invalide.

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

Edit: j'ai manqué. Je dois vérifier la date valide avec l'heure "15/07/2012 12:00:00".

Toutes les suggestions sont les bienvenues ....

10
Sujit

Vous pouvez utiliser la méthode TryParseExact qui vous permet de transmettre une collection de formats possibles que vous souhaitez prendre en charge. La méthode TryParse dépend de la culture, soyez donc très prudent si vous décidez de l'utiliser.

Donc par exemple:

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
}
23
Darin Dimitrov

Vous devriez utiliser TryParseExact car vous semblez avoir le format fixé dans votre cas.

Quelque chose comme peut aussi travailler pour vous

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

Comme les autres l'ont dit, vous pouvez utiliser TryParseExact.

Pour plus d'informations et l'utilisation avec le temps, vous pouvez consulter la Documentation MSDN

0
Gianni B.