【发布时间】:2019-10-13 03:05:36
【问题描述】:
我需要从会议日期表中显示下一个会议日期。一旦某个日期作为当前日期过去,则应该显示下一个日期。我搜索了类似的例子,但没有运气:
2019 年 5 月 21 日
2019 年 7 月 11 日
2019 年 8 月 8 日
2019 年 9 月 12 日
2019 年 10 月 10 日
2019 年 11 月 14 日
2019 年 12 月 12 日
这里的 Linq 查询失败了。例如,在 2019 年 10 月 10 日之后,它不会返回任何内容,因为 2019 年 11 月 14 日实际上超过 1 个月。
var LinqResult = (from c in _context.MeetingSchedule
where c.MeetingDate.Date >= DateTime.Now.Date && c.MeetingDate.Date <= DateTime.Now.Date.AddMonths(1)
select new { c.Location, c.MeetingDate, c.MeetingTime }).ToArray();
if (LinqResult.Any())
{
//SEND NEXT MEETING DATE BACK VIA VIEWSTATE
}
另外,我很确定在会议召开后的最后一个月(12 月)会发生一些奇怪的事情。 我正在尝试显示当前的下一次会议,并在当前会议结束后将其更改为下一次会议。将月份添加到 12 将创建一个不存在的月份编号 13。
【问题讨论】:
-
在过滤掉已经发生的日期后按升序排列会议日程,然后抓住第一个。
-
你可以把
orderby c.MeetingDate.Date放在where和select之间