c# - C#根据特定天数将日期范围分组
问题描述
我有一个日期列表:
2021/09/01
2021/09/02
2021/09/03
2021/09/04
2021/09/05
2021/09/06
2021/09/07
2021/09/08
2021/09/09
......
2021/09/29
如何将日期范围分组为 7 天?:
2021/09/01
2021/09/02
2021/09/03
2021/09/04
2021/09/05
2021/09/06
2021/09/07
2021/09/08
2021/09/09
2021/09/10
2021/09/11
2021/09/12
2021/09/13
2021/09/14
....
解决方案
如果您的数据可能包含一个日期的空白或多个条目,您可以计算与最小日期的差异并将其用于分组,例如:
if (dates.Any()) // Min() will fail if there are no dates
{
var minDate = dates.Min(x => x);
var interval = 7d;
var groups = from x in dates
group x by x.Subtract(minDate).TotalDays / interval
into g
select g;
}
以上样本可作为指导;您可能需要根据您的数据结构和要求对其进行调整。
推荐阅读
- jquery - json到django请求
- php - 从mysql中的特定时间范围内选择数据并以php形式返回
- python - 通过 UDP 向 Windows Server Socket 发送数据
- svn - SVN:如何下载项目的特定版本?
- javascript - 如何为数组对象分配唯一索引值?
- ios - 如何在 Game Center 排行榜中跳过语言选择?
- c# - MissingMethodException get_QueryString
- ios - 如何将 selectedSegmentIndex 的值传递到另一个 viewController?
- php - 我在我的站点中发现了这个错误 undefined mysqli_stmt::get_result() 错误
- javascript - Vue.js 在方法结束之前不会更新窗口中的 v-modal 值