我正在尝试检查C#中所选日期是否为2年(24个月)。出于某种原因,我在这里得到逻辑,大脑超负荷。这是我的代码。我如何检查它是否是2岁?
if (dt.AddMonths(-24) < System.DateTime)
{
return true;
}
else
{
return false;
}
答案 0 :(得分:7)
你快到了。假设dt
是您要检查的日期超过2年,请执行以下操作:
if(dt < System.DateTime.Today.AddMonths(-24))
{
...
}
今天运行此代码(21/05/2013
),当dt
为20/05/2011
或更早时,语句将返回true。如果您想加入21/05/2011
,请改用<=
注意:还有一个AddYears
方法
答案 1 :(得分:6)
return dt < DateTime.Now.AddYears(-2)
答案 2 :(得分:3)
而不是AddMonths()
,您可以使用AddYears()
,这在您的案例中更容易理解;
if(dt < DateTime.Now.AddYears(-2))
{
return true;
}
else
{
return false;
}
返回将指定年数添加到的新DateTime 此实例的值
答案 3 :(得分:1)
你已经倒退了;你正在检查日期是否为未来2年。
您希望从DateTime.Now
减去24个月(或2年),或者将{24}个月(或2年)添加到dt
。
这两种方法都能满足您的需求:
if (dt.AddMonths(24) < DateTime.Now) //or dt.AddYears(2)
和
if (dt < DateTime.Now.AddMonths(-24)) //or DateTime.Now.AddYears(-2)
如果您真正做的只是返回真或假,则不需要if。只需return
比较结果。
答案 4 :(得分:0)
应该是:
return dt.AddYears(2) < System.DateTime.Now;