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


潇湘沐
浏览 241回答 3
3回答

一只斗牛犬

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

呼如林

您基本上可以使用小于(<)和大于(>)运算符。我的意思是你应该改变你的 if 条件:if&nbsp;(d&nbsp;>=&nbsp;e&nbsp;&&&nbsp;d&nbsp;<=&nbsp;DateTime.Now)

慕桂英4014372

你可以尝试这样的事情来比较Date部分Timestring a = "-1"; // These are values that are configurable based on which date is checked. Yesterday means, -1 for example.&nbsp;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){}
打开App,查看更多内容
随时随地看视频慕课网APP