我有similar SO question用于“Bussines days”的日期计算。
最后我使用了here描述的机制。
但这是特殊情况。
更通用的方法呢?
如何仅考虑自定义集中的天数n
或Mn-Tu-We
或其他任何日期,将当前日期的特定数量(Sa-Su-Me
)添加到当前日期。
Test data 1:
Date: (28-jun-2014).
Days to add: 10
Days type: Mn - Th - Fr
Answer: 21-july-2014
Test data 2:
Date: (28-jun-2014).
Days to add: 5
Days type: Tu - We
Answer: 15-july-2014
答案 0 :(得分:2)
从链接中指定的一个我可以在这里进行一些修改: -
对于测试1: -
DayOfWeek[] daysOfWeek= { DayOfWeek.Monday, DayOfWeek.Thursday, DayOfWeek.Friday};
DateTime end = Enumerable.Range(0, int.MaxValue)
.Select(i => DateTime.Today.AddDays(i))
.Where(d => daysOfWeek.Contains(d.DayOfWeek))
.Take(10)
.Last();
答案: - 21-07-2014 00:00:00
对于测试2: -
DayOfWeek[] daysOfWeek= { DayOfWeek.Tuesday, DayOfWeek.Wednesday};
DateTime end = Enumerable.Range(0, int.MaxValue)
.Select(i => DateTime.Today.AddDays(i))
.Where(d => daysOfWeek.Contains(d.DayOfWeek))
.Take(5)
.Last();
答案: - 15-07-2014 00:00:00