How to check if a date has passed in C #?

I am reading a cookie expires (2 hours) from the database, and I need to check if this date has passed. What is the best way to do this?

For instance:

public bool HasExpired(DateTime now) { string expires = ReadDateFromDataBase(); // output example: 21/10/2011 21:31:00 DateTime Expires = DateTime.Parse(expires); return HasPassed2hoursFrom(now, Expires); } 

I am looking for ideas on how to write a .HasPassed2hoursFrom method.

+6
source share
6 answers
 public bool HasPassed2hoursFrom(DateTime fromDate, DateTime expireDate) { return expireDate - fromDate > TimeSpan.FromHours(2); } 
+10
source
 public bool HasExpired(DateTime now) { string expires = ReadDateFromDataBase(); // output example: 21/10/2011 21:31:00 DateTime Expires = DateTime.Parse(expires); return now.CompareTo(Expires.Add(new TimeSpan(2, 0, 0))) > 0; } 

But since DateTime.Now is very fast and you do not need to pass it as a function parameter ...

 public bool HasExpired() { string expires = ReadDateFromDataBase(); // output example: 21/10/2011 21:31:00 DateTime Expires = DateTime.Parse(expires); return DateTime.Now.CompareTo(Expires.Add(new TimeSpan(2, 0, 0))) > 0; } 
+3
source
 bool HasPassed2hoursFrom(DateTime now, DateTime expires) { return (now - expires).TotalHours >= 2; } 
+3
source

Check the date periodically and see if now.CompareTo(expires) > 0

+2
source

You can just use the operators

 boolean hasExpired = now >= Expires; 
0
source
 private enum DateComparisonResult { Earlier = -1, Later = 1, TheSame = 0 }; void comapre() { DateTime Date1 = new DateTime(2020,10,1); DateTime Date2 = new DateTime(2010,10,1); DateComparisonResult comparison; comparison = (DateComparisonResult)Date1.CompareTo(Date2); MessageBox.Show(comparison.ToString()); } //Output is "later", means date1 is later than date2 

To check if the date has passed:

Source: https://msdn.microsoft.com/en-us/library/5ata5aya%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

0
source

Source: https://habr.com/ru/post/899846/


All Articles