比较当月c#以下的日期

时间:2010-12-08 06:22:38

标签: c# linq

如何检查给定日期小于或等于当前月份。 即,任何小于或等于当月的日期时间都应为真。

3 个答案:

答案 0 :(得分:5)

作为扩展方法:

public static bool IsBeforeStartOfCurrentMonth(this DateTime date) {
    DateTime now = DateTime.Now;
    DateTime startOfCurrentMonth = new DateTime(now.Year, now.Month, 1);
    return date < startOfCurrentMonth;
}

用法:

DateTime date = // some DateTime
if(date.IsBeforeStartOfCurrentMonth()) {
    // do something
}

答案 1 :(得分:4)

两个选项;

1:找到月份开始并比较:

var monthStart = new DateTime(when.Year, when.Month, 1);
if(someDate < monthStart) {...}

2:比较月份和年份

if(someDate.Year < when.Year || (someDate.Year == when.Year &&
                         someDate.Month < when.Month)) {...}

适用于DateTime

上的扩展方法

答案 2 :(得分:2)

如果两个DateTime值 -

,您只需比较年份和月份值
DateTime d1, d2;
...
d1.Year <= d2.Year && d1.Month < d2.Month;