1

我想检查日期是否距离当前日期不少于 30 天。所以我的情况如下:

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

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

4

6 回答 6

4

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

所以你的支票应该是:

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

你也可以这样做:

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

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

如果要与 DateTime 的 Date 部分进行比较,则可以使用DateTime.Now.DateorDateTime.Today代替DateTime.Nowwhich 将指向当前日期和12:00AM时间

date.Compare(DateTime.Now.Date.AddDays(-30)) < 0
于 2012-10-08T09:27:05.283 回答
0
date.CompareTo(DateTime.Now.AddDays(-30)) < 0
于 2012-10-08T09:27:43.000 回答
0

试试这个..

DateTime.Now.AddDays(No of Days)
于 2012-10-08T09:28:35.783 回答
0
date.CompareTo(DateTime.UtcNow.AddDays(-30)) < 0
于 2012-10-08T09:28:42.030 回答
0

你可以这样做:

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

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

date < DateTime.Today.AddDays(-30);
于 2012-10-08T09:31:14.860 回答
0

你可以试试

DateTime.Now.AddDays(-30);
于 2012-10-08T09:33:06.780 回答