0

int、string、DateTime の 5 つの列を持つ DataTable があります。日付でレコードをフィルター処理する LINQ クエリを作成しました。今日と昨日までに記録を取得するにはどうすればよいですか?

var Data = _dtAll.AsEnumerable()
          .Where(datas => datas.Field<DateTime>("Date") == DateTime.Now.Date)
          .Select(datas => new { ---})

レコードを取得していません。私の記録は 2013 年 5 月 14 日午前 10 時です。時間でクエリする必要はありません。日付でのみクエリする必要があります。任意の助けが必要です。

4

3 に答える 3

1

昨日と今日の日付は、昨日の午前 0 時 (含む) から明日の午前 0 時 (除く) までの日付です。

var upperBound = DateTime.Today.AddDays(1);
var lowerBound = DateTime.Today.AddDays(-1);

var Data = _dtAll.AsEnumerable()
          .Where(datas => datas.Field<DateTime>("Date") < upperBound)
                       && datas.Field<DateTime>("Date") >= lowerBound)
          .Select(datas => new { ---})
于 2013-05-14T11:46:08.793 に答える