如何查找输入中的日期是否在特定日期范围内(例如,假设过去 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
首先,使用有意义的名称而不是a
和b
,其次:使用正确的数据类型(您根本不使用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 }
基本上可以使用小于(<)和大于(>)运算符。
我的意思是你应该改变你的 if 条件:
if (d >= e && d <= DateTime.Now)
您可以尝试这样的方式来比较Date
部分,而无需Time
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 = new DateTime();
DateTime e = d.AddDays(int.Parse(a));
if (DateTime.Now.Date >= d.Date && e.Date <= d.Date)
{
}