在c#中减去日期的日期?

时间:2012-10-08 09:26:09

标签: c#

我想检查日期是否不低于当前日期的30天。 所以我的条件如下:

date.CompareTo(new DateTime().AddDays(-30)) < 0

但不起作用。我们不能添加一个负数到目前为止?如果不是如何实现这个目标?

6 个答案:

答案 0 :(得分:4)

而不是new DateTime(),您需要DateTime.Now作为当前日期

所以你的支票应该是:

date.CompareTo(DateTime.Now.AddDays(-30)) < 0

你也可以这样做:

if(date < DateTime.Now.AddDays(-30))

编辑:(来自@Rawling的评论)

如果您想与DateTime的Date部分进行比较,那么您可以使用DateTime.Now.DateDateTime.Today代替DateTime.Now,这将指向12:00AM的当前日期时间

date.Compare(DateTime.Now.Date.AddDays(-30)) < 0

答案 1 :(得分:0)

date.CompareTo(DateTime.Now.AddDays(-30)) < 0

答案 2 :(得分:0)

试试这个..

DateTime.Now.AddDays(No of Days)

答案 3 :(得分:0)

date.CompareTo(DateTime.UtcNow.AddDays(-30)) < 0

答案 4 :(得分:0)

你可以这样做:

date < DateTime.Now.AddDays(-30);

这也包括时间。如果您不想这样,请尝试:

date < DateTime.Today.AddDays(-30);

答案 5 :(得分:0)

您可以尝试使用

DateTime.Now.AddDays(-30);