[英]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.