我的案例场景是用户选择一个财政年度,比如 2015 年 1 月 1 日到 2015 年 12 月 31 日。然后他选择日期说“星期六”、“星期日”。
我想获取上述条件之间的所有日期。
我可以获得这样的日期:-
....
for (var date = fromDate; date <= toDate; date = date.AddDays(1))
temp.Add(date);
但是如何从日期范围中只获取天数 'SATURDAY', 'SUNDAY'?
最佳答案
使用DayOfWeek属性:
for (var date = fromDate; date <= toDate; date = date.AddDays(1))
{
if (date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday)
temp.Add(date);
}
如果星期几不是静态的:
HashSet<DayOfWeek> daysOfWeek = new HashSet<DayOfWeek> { DayOfWeek.Saturday, DayOfWeek.Sunday };
List<DateTime> temp = new List<DateTime>();
for (var date = fromDate.Date; date <= toDate; date = date.AddDays(1))
if (daysOfWeek.Contains(date.DayOfWeek))
temp.Add(date);
关于C# - 获取两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32174956/