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 ....
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
}
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);
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