【发布时间】:2021-10-04 00:36:39
【问题描述】:
我需要获取当月的数据。一直找不到可行的解决方案。
这是我的代码,它为我提供了我需要的数据,但我从一整个月前获取数据,而不是从我们所在的当月获取数据。
我用row > DateTime.Today.Addmonths(-1)两次选择了日期“限制”
有什么想法吗?
var userQuery =
from timeEntry in TimeEntries
//this displays a month back, not current month TODO: change to current month.
where timeEntry.DateEntity > DateTime.Today.AddMonths(-1)
select new {
UserName = timeEntry.User.FirstName + " " +timeEntry.User.LastName,
HoursEntered = timeEntry.HoursEntered,
User = timeEntry.User
};
var localrows = userQuery.ToList();
var grouping = localrows.GroupBy(x => x.User);
var userList = grouping.Select(q => new {
UserName = q.FirstOrDefault().UserName,
Hours = q.Sum(hr => hr.HoursEntered), //AbsenceTypeID = holiday(1) // still takes from a whole month, instead of current month.
Holiday = q.FirstOrDefault().User.Absences.Where(a => a.AbsenceTypeID == 1).Where(date => date.DateEntity > DateTime.Today.AddMonths(-1)).Count(),
});
编辑:
Keyur Patel 的回答有效,但不是最底层的。
所以我要感谢朱尔斯:
DateTime.Today.AddDays((DateTime.Today.Day -1) * -1)
【问题讨论】:
-
您想要来自(编辑为 -> 来自)当月第一天的数据吗?
-
我想要与本月匹配的数据,所以如果是 21/9,我想要从 1/9 到 21/9 的数据。所以我们所在月份的数据。
-
使用这个 DateTime.Today.AddDays((DateTime.Today.Day -1) * -1)
-
有效^^谢谢。
-
点击评论,让其他人知道答案。