gpt4 book ai didi

c# - 创建一个 LINQ 查询,其中将包括本周除今天和昨天之外的所有条目

转载 作者:行者123 更新时间:2023-11-30 22:20:47 25 4
gpt4 key购买 nike

我正在使用 LINQ 查询来检索本周的所有记录,但是,我需要排除今天和昨天的所有记录。

这是我目前所拥有的:

DateTime startThisWeek = DateFunctions.GetFirstDayOfWeek(DateTime.Now).AddDays(1);
DateTime endOfThisWeek = startThisWeek.AddDays(6);
DateTime today = DateTime.Now;
DateTime yesterday = DateTime.Now.AddDays(-1);

var notificationList =
(from n in db.DashboardNotifications
.OrderByDescending(n => n.NotificationDateTime)
where (n.NotificationDateTime >= startThisWeek &&
n.NotificationDateTime <= endOfThisWeek) &&
(n.NotificationDateTime != today &&
n.NotificationDateTime != yesterday)
select n).ToList();

上述查询的问题是它没有返回正确的记录,它也显示了今天的记录。

最佳答案

假设您的 DateFunctions.GetFirstDayOfWeek 工作正常

DateTime startThisWeek = DateFunctions.GetFirstDayOfWeek(DateTime.Now);
DateTime yesterday = DateTime.Today.AddDays(-1);

var notificationList =
(from n in db.DashboardNotifications
where n.NotificationDateTime.Date >= startThisWeek.Date &&
n.NotificationDateTime.Date < yesterday)
orderby n.NotificationDateTime descending
select n).ToList();

注释:如果本周的开始时间不在昨天之前,那么您将不会得到任何记录。否则昨天总是在本周末之前。

如何正确获取星期几:

public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime date,
DayOfWeek startOfWeek = DayOfWeek.Monday)
{
DateTime result = date;

while (result.DayOfWeek != startOfWeek)
result = date.AddDays(-1);

return result.Date;
}
}

关于c# - 创建一个 LINQ 查询,其中将包括本周除今天和昨天之外的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14809527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com