linq メソッドで年の最初の日と最後の日と日付を比較する必要がある
c.TERMINATION_DATE < FirstDayofYear (DateTime.Now)
&& c.TERMINATION_DATE > LastDayOfYear(DateTime.Now)
linq メソッドで年の最初の日と最後の日と日付を比較する必要がある
c.TERMINATION_DATE < FirstDayofYear (DateTime.Now)
&& c.TERMINATION_DATE > LastDayOfYear(DateTime.Now)
幸いなことに、年の最初と最後の日は常に同じで、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
...