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プロパティが日付だけでなく実際に日付/時刻を格納している場合、問題が発生する可能性があることに注意してください。開始/終了は両方とも、それぞれの日付の開始の真夜中になるためです。

考慮すべきもう 1 つの点は、やや単純ですが年を使用することです。

int year = DateTime.Today.Year;

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