0

需要通过linq方法将日期与一年中的第一天和一年中的最后一天进行比较

c.TERMINATION_DATE < FirstDayofYear (DateTime.Now)
     && c.TERMINATION_DATE > LastDayOfYear(DateTime.Now)
4

1 回答 1

2

幸运的是,一年的第一天和最后一天总是一样的:1 月 1 日和 12 月 31 日:

// Only fetch the property *once*, for consistency
DateTime today = DateTime.Today;
DateTime start = new DateTime(today.Year, 1, 1);
DateTime end = new DateTime(today.Year, 12, 31);

...
// In your LINQ query
where c.TerminationDate < start || c.TerminationDate > end
...

请注意,我已将条件更改为,||而不是&&- 毕竟,该值不能在一年的第一天之前和一年最后一天之后。当然,您可能只是以错误的方式获得了条件。

另请注意,如果您的TerminationDate财产实际上存储了日期/时间而不仅仅是日期,您可能会遇到问题 - 因为开始/结束都将是各自日期开始时的午夜。

另一件需要考虑的事情——而且有点简单——就是使用年份:

int year = DateTime.Today.Year;

...
// In your LINQ query
where c.TerminationDate.Year != year
...
于 2012-07-21T07:31:53.613 回答