C#中的日期范围检查

时间:2019-01-15 10:31:27

标签: c# .net datetime c#-4.0 compare

如何查找输入中的日期是否在特定日期范围内(例如wihtin最近7天,这意味着我要说-7)。如果在最近7天内,请执行其他操作。

我目前可以做到这一点,但是我不知道如何进一步改变以满足我的需求。

string a = "-1"; // These are values that are configurable based on which date is checked. Yesterday means, -1 for example. 
string b = "-15"; // -15 means within last 15 days.

DateTime d = input;
DateTime e = d.AddDays(int.Parse(a));
if (d is between datetime.now and e)
{
   //do something
} 
else do something

3 个答案:

答案 0 :(得分:1)

首先,使用有意义的名称代替ab,其次:使用适当的数据类型(您根本不用b):

int dayOffset = -1;
int lowerBound = -15;

var currentDate = DateTime.Now;

if(input >= currentDate.AddDays(dayOffset) && input <= currentDate)
{ // do smoething }

使用您的姓名:

var currentDate = DateTime.Now;

if(input >= currentDate.AddDays(a) && input <= currentDate)
{ // do smoething }

答案 1 :(得分:1)

基本上可以使用不到(<)和大于(>)运算符。

我的意思是,您应该更改条件,例如:

if (d >= e && d <= DateTime.Now)

答案 2 :(得分:1)

您可以尝试使用类似方法比较没有Date的{​​{1}}部分

Time