我正在尝试将Date
和DateFinal
之间的所有事件添加到日期中,以便用日历填充日历。
我已经搜索过,但我找不到任何解决方法。
pageItems.Add("dates", allEvents.Select(i => i.Date).ToList());
这是我目前所做的,但仅显示i.Date
的日期,我想展示Date
和DateFinal
之间的所有日子。
提前干杯和谢谢
在我有的allEvents中
allEvents = Current.Descendants(n => n.NodeTypeAlias == "EventPage")
.get_Items()
.Select(n => new{
Node = n,
Date = (Helper.ParseXmlDate(n.GetProperty("itemDate")) ?? n.UpdateDate).DatePart(),
DateFinal = (Helper.ParseXmlDate(n.GetProperty("itemDateFinal")) ?? n.UpdateDate).DatePart()
});
答案 0 :(得分:5)
使用此:
allEvents.Where(i => i.Date > Date && i.Date < DateFinal).Select(i => i.Date).ToList()
答案 1 :(得分:3)
首先..对不起,如果我误解了这个问题
如果您有2个DateTime,并且想要选择这两个日期之间所有天数(作为日期时间)的列表,则可以使用Enumerable.Range
和Date
之间的天数来DateFinal
{1}}循环进入select
语句,将一天添加到开始日期并输出日期时间列表
这将选择 Date
和DateFinal
之间的所有日期。
allevents.Select(i => Enumerable.Range(1, (i.DateFinal - i.Date).Days).Select(dayCount => i.Date.AddDays(dayCount))).ToList()
如果您需要包含 Date
和DateFinal
到列表中,您可以使用
allevents.Select(i => Enumerable.Range(0, 1 + (i.DateFinal - i.Date).Days).Select(dayCount => i.Date.AddDays(dayCount))).ToList()
输入:
Date: 02/20/2013
DateFinal: 02/31/2013
输出:
02/20/2013
02/21/2013
02/22/2013
02/23/2013
...
这是你的意思吗?
答案 2 :(得分:2)
您可能正在搜索:
TimeSpan span=d2-d1;
span.TotalDays;
所以它应该看起来像:
allEvents.Select(i => (DateFinal - i.Date).TotalDays).ToList()
这显示某些DateFinal和i.Date之间的所有日期
如果这不是您要搜索的内容,请澄清。