2
A
回答
3
假設公曆,「第一天」周規則,並且星期的第一天是星期一。
第一天星期規則:
表示一年中的第一週的 的第一天開始年份和 周以下指定的第一天之前結束
int firstDayOfWeek = (int)DayOfWeek.Monday;
var q =
from u in TblUsers
let date = u.CreateDate.Value
let num = date.DayOfYear - 1
let num2 = ((int)date.DayOfWeek) - (num % 7)
let num3 = ((num2 - firstDayOfWeek) + 14) % 7
let week = (((num + num3)/7) + 1)
group u by week into g
select new
{
Week = g.Key,
Count = g.Count()
};
0
希望這有助於:
var d1 = new DateTime(1990, 1, 1);
var d2 = new DateTime(1990, 1, 2);
var d3 = new DateTime(1990, 1, 11);
var d4 = new DateTime(1990, 1, 12);
var records = new[] {
new { date = d1, freq = 1 },
new { date = d2, freq = 2 },
new { date = d3, freq = 3 },
new { date = d4, freq = 4 }
};
//ticks * WeekDays * DayHours * HourMins * MinSecs
var weekTicks = (Int64)10000000 * 7 * 24 * 60 * 60;
var res = records.GroupBy(x => x.date.Ticks/weekTicks)
.Select(x => new { week=x.Key ,sum=x.Sum(y=>y.freq)});
而這是結果:
[0] = {周= 99085,總和= 3}
[ 1] = {week = 99086,sum = 7}
相關問題
- 1. 按日期分組按日期分組
- 2. 按日期對對象進行分組
- 3. 按日期分組的MySQL日期列?
- 4. 按日期排列具有日期字段的對象數組
- 5. 按空組分組日期
- 6. PHP數組按日期stdClass的對象
- 7. 如何將日期分組並按日期分組?
- 8. 排序對象數組按日期場
- 9. 按日期分組數據
- 10. 按日期部分組(dd.mm.yyyy)
- 11. 按當地日期分組
- 12. Grails按日期分組
- 13. 分組要素按日期
- 14. 如何按日期分組?
- 15. 按日期分組ID
- 16. 按月分組SAS日期
- 17. mySQL DateDiff按日期分組
- 18. 分組值按日期
- 19. 按日期分組Mongo aggregation
- 20. MySQL:按日期分組RANGE?
- 21. SQL:按日期分組
- 22. 不按日期分組?
- 23. 按最大日期分組
- 24. 按日期分組排序
- 25. SQL按周分組日期
- 26. 按日期對象蟒蛇
- 27. Filter對象按日期
- 28. 排序對象按日期
- 29. LinqToSql的日期問題
- 30. 按ID和日期分組,但每個組的日期?
這可能是你以後的事情; http://stackoverflow.com/questions/1059737/group-by-weeks-in-linq-to-entities – WooHoo
一年中的哪一週?每月中的哪一週?星期幾? –
我認爲最簡單的解決方案是從UDF調用datepart –