本月周六周日LIST集合

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

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

代码如下:

+ ?

//计算本月有哪些天是周六,周日

//本月开始日期

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.cnblogs.com/qiu18359243869/p/10856140.html

时间: 2024-10-10 23:09:44

本月周六周日LIST集合的相关文章

JEECG 深度使用培训班 周六周日公开课(一期班)

广大技术爱好者: 大家好!非常感谢大家一如既往的支持jeecg,jeecg现在用户越来多,社区的支持压力也越来越大! 为了社区更好的发展,也为了更好的支持网友遇到的问题,JEECG开源社区,特定期开展"JEECG深度使用培训班",培训周期为2个星期,开课时间为工作日晚上.周六.周日两天,空挡时间解答学员问题! 授课方式:YY视频群.QQ视频 培训费用    :500元 报名截止时间:20140515 讲师: scott \ 赵俊夫 说明:jeecg合作企业可以免费派2名学员参加; 报名

SQL取出 所有周六 周日的日期

SQL取出 所有周六 周日的日期 create table SatSun([id] int identity(1,1),[date] datetime,[weekday] char(6)) go declare @datetime datetime,@weekday char(6) set @datetime='2007-1-1' while @datetime<='2007-12-31' begin select @weekday=datename(weekday,@datetime) if

周六周日为休息日的工厂日历修改变成工作日

declare @a int,@Finterid int, @Fdayid int select @Finterid=max(Finterid), @Fdayid=max(Fdayid) from t_MutiWorkCal --select Fdayid,FWeekID, FMonthID, FYearID, FCalID, FPreID, FNxtID, * from t_MutiWorkCal set @a=0 while(@a<1*365) begin insert into t_Mut

PL/SQL 获取一个月的天数排除周六周日

create or replace PROCEDURE GETWORKDAYS ( sdate IN VARCHAR2 , TDAYS OUT INTEGER ) AStotalDays INTEGER:=0;tempDate VARCHAR2(20);tempWeek INTEGER;BEGIN TDAYS:=0; select add_months(to_date(sdate, 'yyyy-mm-dd'),1)-to_date(sdate, 'yyyy-mm-dd') into totalD

周六周日收获

1 // double 浮点类型 2 /* 条件表达式的形式: 3 表达式1?表达式2:表达式3 4 如果1的值是turn,(也就是说,条件成立),那么就去计算2,并以他的值作为整个条件表达式的值: 5 如果1的值是false,那么就计算3,并以他的值作为整个条件表达式的值*/ 6 //double sign (double x){return x > 0 ? 1 : ( x == 0 ? 1 : -1 );} sign分段函数 1 //摄氏温度与华氏温度的对照表 2 #include<ios

学习iOS【3】数组、词典和集合

一.数组 1.不可变数组NSArray arrayWithObjects:使用一组对象作为元素创建不可变数组,注意数组的最后一个值需要指定为nil,用来表示参数的结束,但是nil并不会存储在数组中. objectAtIndex:获取指定索引位置的数组元素. @[elm1,elm2….elmn]:另外一种创建数组的简便方式,不需要以nil作为结尾元素: array[index]:另外一种获取指定索引位置元素的方式. count:数组中元素个数. int main(int argc, const c

今日、本周、本月时间列表 python方法

1 def get_time(self): 2 ''' 3 @author : Cong 4 @Email : [email protected] 5 @描 述 : 生产时间列表 6 ''' 7 # 生成本日时间列表 8 i = datetime.datetime.now() 9 today = datetime.date.today() 10 date = [str(hour).zfill(2) + ':00' for hour in range(0, i.hour + 1)] 11 date

统计查询时间段内工作日之和

今天有个需求是这样的,要查出本月的工作日之和,在网上搜索了一下,发现看起来最简单的是这样的: 1 DECLARE @DAY DATE,@COUNT INT 2 SET @DAY=CONVERT(VARCHAR(10),Dateadd(dd, -Datepart(dd,GetDate())+ 1,GetDate()), 23) 3 SET @COUNT=0 4 WHILE @DAY<=CONVERT(VARCHAR(100), GetDate(),23) 5 BEGIN 6 SET @COUNT=

jsp日期插件My97DatePicker 强大的日期控件 使用方便简单

本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.htm是必须文件,不可删除 各目录及文件的用途:WdatePicker.js 配置文件,在调用的地方仅需使用该文件,可多个共存,以xx_WdatePicker.js方式命名con