最近项目中有用到本月所有的周六,周日,特此分享一下!
算法思路:写一个循环,条件为本月开始日期、本月截至日期,通过循环获取第一个周六,加一天就是周日,每增加六天就是下一个周六,依次类推,循环到月末
代码如下:
//计算本月有哪些天是周六,周日 //本月开始日期 var starmoth = datetime.now.adddays(-datetime.now.day + 1).date; //本月截至日期 var stopmoth = starmoth.addmonths(1).adddays(-1).date; var listsaturday = new list<datetime>(); var listsunday = new list<datetime>(); var temp = starmoth; while (temp <= stopmoth) { if (temp.dayofweek == dayofweek.saturday && temp <= stopmoth) { listsaturday.add(temp.date); if (temp.adddays(1).date <= stopmoth) { listsunday.add(temp.adddays(1)); } temp = temp.adddays(6); } else { temp = temp.adddays(1); } } console.writeline("本月周六--"); listsaturday.foreach(n => console.writeline(n.date)); console.writeline("本月周日--"); listsunday.foreach(n => console.writeline(n.date)); console.readkey();
运行结果:
黄山市民网:https://www.huangshanshimin.com/