为了账号安全,请及时绑定邮箱和手机立即绑定

C#中的日期范围检查

C#中的日期范围检查

C#
潇湘沐 2022-07-23 16:47:11
如何查找输入中的日期是否在特定日期范围内(例如,在过去 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 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

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


查看完整回答
反对 回复 2022-07-23
?
呼如林

TA贡献1798条经验 获得超3个赞

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

我的意思是你应该改变你的 if 条件:

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


查看完整回答
反对 回复 2022-07-23
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

你可以尝试这样的事情来比较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)

{


}


查看完整回答
反对 回复 2022-07-23
  • 3 回答
  • 0 关注
  • 240 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信