2012-07-21 95 views
0

需要用一年的第一天,在年度的最后一天通过LINQ方法第一天和最后一年的

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

回答

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 
... 

请注意,我已经改变了条件||而不是&& - 毕竟值不能后年的第一天之前y的最后一天耳。如果当然,你有可能以错误的方式得到你的条件。

还要注意的是,如果你的TerminationDate财产实际上的日期/时间专卖店,而不仅仅是一个日期,你可以有问题 - 因为开始/结束都将是对各自的日期开始午夜。

另一个要考虑的 - 和稍微简单 - 是只是使用一年​​:很多

int year = DateTime.Today.Year; 

... 
// In your LINQ query 
where c.TerminationDate.Year != year 
... 
+0

伟大构想队友:)谢谢。我在某些事情上仍然是初学者,而我在脑海中并没有提出这个想法。:)非常感谢你解决方法。 – user1542323 2012-07-21 07:37:48

相关问题