C# 7天后怎么找时间?
我有一个名为schedule的表,模型的名为schedule。每个日程表都有自己的日程表日期。我想问一下如何在这个表中只显示今天和今天前7天以及今天后7天的日程安排 以下是我目前掌握的情况:C# 7天后怎么找时间?,c#,asp.net-mvc-4,datetime,C#,Asp.net Mvc 4,Datetime,我有一个名为schedule的表,模型的名为schedule。每个日程表都有自己的日程表日期。我想问一下如何在这个表中只显示今天和今天前7天以及今天后7天的日程安排 以下是我目前掌握的情况: var viewModel = new ScheduleViewModel(); viewModel.schedule = db.schedule.Where( x.DateOfSchedule.Year == DateTime.Now.Year && x.DateO
var viewModel = new ScheduleViewModel();
viewModel.schedule = db.schedule.Where(
x.DateOfSchedule.Year == DateTime.Now.Year &&
x.DateOfSchedule.Month == DateTime.Now.Year &&
x.DateOfSchedule.Day <= DateTime.Now.Year
).ToList();
您可以编写
var viewModel = new ScheduleViewModel();
viewModel.schedule = db.schedule.Where( x =>
Math.Abs((x.DateOfSchedule - DateTime.Now).TotalDays) <= 7).ToList();
这是我的建议。注意:使用日期部分忽略时间
viewModel.schedule = db.schedule.Where(x=> x.DateOfSchedule.Date >= DateTime.Today.AddDays(-7)
&& x.DateOfSchedule.Date <= DateTime.Today.AddDays(7)).ToList();
试试这个x.DateOfSchedule=DateTime.Now.AddDays-7你的Where需要一个lambda表达式-你不能有.Wherex.y==z,但是你可以有.Wherex=>x.y==z,因为没有定义x.DateTime.Today比等价的DateTime.Now更简洁。Date@Joe是的,这是一种选择。
viewModel.schedule = db.schedule.Where(x=> x.DateOfSchedule.Date >= DateTime.Today.AddDays(-7)
&& x.DateOfSchedule.Date <= DateTime.Today.AddDays(7)).ToList();