私は、特定の日付範囲内にあるオブジェクトのリストを取得するためにLINQを使用しています。例えば、私は、DateTime書式で現在の日付があります:2016年5月21日0時00分00秒を、私は(5日前、3ヶ月前、1年前、5年前)1日前以降に公開されたニュースを取得する必要がありますし、この瞬間まで。 toDateまでは私の現在の日付であるどのように私は、日付範囲用の汎用クエリを行うことができますか?
List<MyObject> data =
DataDownloader.myList.Where(s => s.Date.Year >= fromDate.Year
&& s.Date.Month >= fromDate.Month
&& s.Date.Day >= fromDate.Day
&& s.Date.Year <= toDate.Year
&& s.Date.Month <= toDate.Month
&& s.Date.Day <= toDate.Day).ToList();
:私はそれをfolowing方法をしました。
1日:
fromDate = toDate;
5日:私は、次によりfromDateからを見つける
fromDate = toDate.AddDays(-5);
3ヶ月:
fromDate = toDate.AddMonths(-3);
など
しかし、私は3ヶ月間だけ2つのニュースを取得します。これは、2016年4月21日午前0時00分00秒と2016年5月21日午前0時00分00秒です。だから私の現在の日付は21.05.2016なので、月数だけが違うことは分かっています。私は何が間違っているのですか?私はそれを知っているより多くのニュースを取得する必要があります。
は、なぜあなたはというだけで、 's.Date> = fromDate'などよりも、各コンポーネントを個別に照会していますか? –