Comment comparer DateTime en C #?

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

  • supérieur à ( > ) ,
  • moins que ( < ) ,
  • égalité ( == ) ,
  • et plus

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