I need to know if a Date is between a DateRange. I have three dates:
// The date range DateTime startDate; DateTime endDate; DateTime dateToCheck;
The easy solution is doing a comparison, but is there a smarter way to do this?
Nope, doing a simple comparison looks good to me:
return dateToCheck >= startDate && dateToCheck < endDate;
Things to think about though:
DateTimeis a somewhat odd type in terms of time zones. It could be UTC, it could be “local”, it could be ambiguous. Make sure you’re comparing apples with apples, as it were.
- Consider whether your start and end points should be inclusive or exclusive. I’ve made the code above treat it as an inclusive lower bound and an exclusive upper bound.
Answered By – Jon Skeet
Answer Checked By – Mildred Charles (AngularFixing Admin)