我正在使用ASP.Net MVC2。我想知道是否有计算复发日期的公式?所以从我的客户端我选择日期并使用ajax.post发送到控制器。我期待的结果将是这样的,例如:
maxdate是9月30日 currentdate今天 持续时间为每周3天
所以输出会是 aug12-aug14 aug19-aug21 aug26-28至9月底
答案 0 :(得分:2)
Enumerable.Range(0, int.MaxValue)
.Select(i => new
{
start = DateTime.Today.AddDays(7*i),
end = DateTime.Today.AddDays(7*i + 2)
})
.TakeWhile(d => d.end <= new DateTime(2010, 9, 30))
除非您正在寻找起点和终点之间的日期:
Enumerable.Range(0, int.MaxValue)
.SelectMany(i => new[]
{
DateTime.Today.AddDays(7*i),
DateTime.Today.AddDays(7*i + 1),
DateTime.Today.AddDays(7*i + 2)
})
.TakeWhile(d => d <= new DateTime(2010, 9, 30))