繁体   English   中英

获取当前日历月和接下来的11个月的日期

[英]Get dates from the current calendar month and the next 11 coming months

我有一个IEnumerable<DateTime> 我想提取当前日历月中发生的所有日期,即使它们已经过去以及接下来的11个日历月中的所有日期。 我将显示从最近开始按月分组的日期。 例如:

当前日期 - 2012年3月12日

  • 2012年3月
    • 3月3日 - 活动1
    • 3月15日 - 活动2
    • 3月30日 - 活动3
  • ...
  • ...
  • ...
  • 2013年2月
    • 2月3日 - 事件156
    • 2月13日 - 事件157
    • 2月20日 - 活动158

我已经知道如何进行分组。 您将如何使用linq和C#完成过滤日期?

这样的事情应该有效。 首先确定合法的日期范围,然后筛选出该范围之外的任何日期,最后按月分组。

我手工编写了以下代码,您可能需要调整它:

var acceptableFirstDate = DateTime.Today;
if (DateTime.Today.Day > 1)
{
    acceptableFirstDate = DateTime.Today.AddDays(-DateTime.Today.Day + 1);
}
var acceptableLastDate = acceptableFirstDate.AddMonths(12).AddDays(-1);

var result = dates
    .Where(x => x >= acceptableFirstDate && x <= acceptableLastDate)
    .GroupBy(x => x.Month);

我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM