C# 中的日期范围检查



如何查找输入中的日期是否在特定日期范围内(例如,假设过去 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

首先,使用有意义的名称而不是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 }

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

我的意思是你应该改变你的 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)
{
}

相关内容

  • 没有找到相关文章

最新更新