本文介绍了使用linq将列表或订单日期分成几周的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我在2018年有5个日期 [3月2日,3月6日,3月7日,3月26日]
>的列表。本周开始周六和周日结束。
我想得到以下结果:
pre $ code $ Mar $ 6 $ b $ Mar 6 Mar 7
$ [$ 26
我怎样才能用LINQ做到这一点?您可以在 DateTime
上使用以下内容: >
$ b
给定
List< DateTime> myAwesomeList;
用法
var result = myAwesomeList.GroupBy(x =>
CultureInfo.CurrentCulture.Calendar
.GetWeekOfYear(x.date,
CalendarWeekRule.FirstDay,
DayOfWeek.Saturday))
.Select(grp => grp.ToList())
.ToList();
退货
列表与LT;列表与LT; DateTime的>>
Say I have a list of 5 dates [Mar 2,Mar 6, Mar 7, Mar 26]
all in the year 2018.The week start on Saturday and end Sunday.I want the following result
[Mar 2]
[Mar 6, Mar 7]
[Mar 26]
How can I do it with LINQ? Or in a functional way.
解决方案
You can use the following on DateTime
Calendar.GetWeekOfYear Method (DateTime, CalendarWeekRule, DayOfWeek)
Given
List<DateTime> myAwesomeList;
Usage
var result = myAwesomeList.GroupBy(x =>
CultureInfo.CurrentCulture.Calendar
.GetWeekOfYear(x.date,
CalendarWeekRule.FirstDay,
DayOfWeek.Saturday))
.Select(grp => grp.ToList())
.ToList();
Returns
List<List<DateTime>>
这篇关于使用linq将列表或订单日期分成几周的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!