欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#获取本月有哪些周六、周日

程序员文章站 2022-04-09 17:10:01
最近项目中有用到本月所有的周六,周日,特此分享一下! 算法思路:写一个循环,条件为本月开始日期、本月截至日期,通过循环获取第一个周六,加一天就是周日,每增加六天就是下一个周六,依次类推,循环到月末 代码如下: 运行结果: ......

最近项目中有用到本月所有的周六,周日,特此分享一下!

      算法思路:写一个循环,条件为本月开始日期、本月截至日期,通过循环获取第一个周六,加一天就是周日,每增加六天就是下一个周六,依次类推,循环到月末

      代码如下:

            //计算本月有哪些天是周六,周日
            //本月开始日期
            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();

  运行结果:

c#获取本月有哪些周六、周日