Je ne veux pas que l’utilisateur indique la date ou l’heure de retour.
Comment puis-je comparer si la date et l’heure saisies sont MOINS alors l’heure actuelle?
Si la date et l’heure actuelles sont 17-juin-2010, 12h25, je veux que l’utilisateur ne puisse pas donner la date avant le 17 juin -2010 et l’heure avant 12h25.
Comme ma fonction renvoie false si l’heure entrée par l’utilisateur est le 16 juin 2010 et l’heure 12:24
MSDN: DateTime.Compare
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0); DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0); int result = DateTime.Compare(date1, date2); ssortingng relationship; if (result < 0) relationship = "is earlier than"; else if (result == 0) relationship = "is the same time as"; else relationship = "is later than"; Console.WriteLine("{0} {1} {2}", date1, relationship, date2); // The example displays the following output: // 8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
Microsoft a également implémenté les opérateurs ‘<' et '>‘. Donc, vous les utilisez pour comparer deux dates.
if (date1 < DateTime.Now) Console.WriteLine("Less than the current time!");
La réponse de MuSTaNG dit tout, mais je l’ajoute toujours pour la rendre un peu plus élaborée, avec des liens et tout.
Les opérateurs conventionnels
>
) , <
) , ==
) , sont disponibles pour DateTime
depuis .NET Framework 1.1. En outre, l'addition et la soustraction d'objects DateTime
sont également possibles avec les opérateurs conventionnels +
et -
.
Un exemple de MSDN:
Égalité:
System.DateTime april19 = new DateTime(2001, 4, 19); System.DateTime otherDate = new DateTime(1991, 6, 5); // areEqual gets false. bool areEqual = april19 == otherDate; otherDate = new DateTime(2001, 4, 19); // areEqual gets true. areEqual = april19 == otherDate;
D'autres opérateurs peuvent également être utilisés.
Voici la liste de tous les opérateurs disponibles pour DateTime
.
//Datetime compare. private int CompareTime(ssortingng t1, ssortingng t2) { TimeSpan s1 = TimeSpan.Parse(t1); TimeSpan s2 = TimeSpan.Parse(t2); return s2.CompareTo(s1); }
public static bool CompareDateTimes(this DateTime firstDate, DateTime secondDate) { return firstDate.Day == secondDate.Day && firstDate.Month == secondDate.Month && firstDate.Year == secondDate.Year; }