一尘不染

如何知道DateTime是否在C#中的DateRange之间

c#

我需要知道Date是否在DateRange之间。我有三个约会:

// The date range
DateTime startDate;
DateTime endDate;

DateTime dateToCheck;

简单的解决方案是进行比较,但是有更聪明的方法吗?


阅读 346

收藏
2020-05-19

共1个答案

一尘不染

不,对我来说做一个简单的比较看起来不错:

return dateToCheck >= startDate && dateToCheck < endDate;

需要考虑的事情:

  • DateTime在时区方面有点奇怪。它可以是UTC,可以是“本地”,也可以是模棱两可的。确保您正在将苹果与苹果进行比较。
  • 考虑您的起点和终点应该是包容性还是排他性。我已经使上面的代码将其视为包含性下限和专有性上限。
2020-05-19