簡體   English   中英

C#從數據庫中獲取與當前星期一起出現的所有日期

[英]c# get all dates from database that appear with current week

試圖從數據庫中獲取當前一周內的所有日期

我有email1DueDate,email2DueDate,email3DueDate

我想看看他們是否應在本周內發送

首先,您應該為一周的開始和一周的結束計算兩個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)
    );

如果這不是您需要的,則需要澄清您的要求

LINQ

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

當然,您仍然需要弄清楚開始日期和結束日期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM