0

現在の週内にあるデータベースからすべての日付を取得しようとしています

email1DueDate、email2DueDate、email3DueDateがあります

そして、私はそれらが今週以内に送られることになっているのかどうかを見たいです

4

2 に答える 2

7

最初に、週の始まりと週の終わりの2つのDateTime値を計算する必要があります。これは、次のように実行できます(月曜日が最初の日であると想定)。

DateTime startOfWeek = DateTime.Today;
int delta = DayOfWeek.Monday - startOfWeek.DayOfWeek;
startOfWeek = startOfWeek.AddDays(delta);

DateTime endOfWeek = startOfWeek.AddDays(7);

次に、これをLINQクエリで使用して、必要な結果を取得できます。結果を、期日が週に含まれる行にすることを想定しています。

var results = DB.Table.Where(x =>
    (x.email1DueDate >= startOfWeek && x.email1DueDate < endOfWeek) ||
    (x.email2DueDate >= startOfWeek && x.email2DueDate < endOfWeek) ||
    (x.email3DueDate >= startOfWeek && x.email3DueDate < endOfWeek)
    );

これが必要なものでない場合は、要件を明確にする必要があります

于 2012-05-15T09:59:18.467 に答える
1

LINQ

listOfDates.Where(x => x.email1DueDate > beginOfWeekDate && x.email1DueDate < endOfWeekDate).ToList();

もちろん、開始日と終了日を把握する必要があります

于 2012-05-15T09:59:39.767 に答える