C#获取当前日期是本年第几周

获取当前日期是本年第几周

public static int GetWeekIndexByYear(DateTime dt)
        {
            //当前时间当年的第一天
            DateTime time = Convert.ToDateTime(dt.ToString("yyyy") + "-01-01");
            TimeSpan ts = dt - time;
            //当年第一天是星期几
            int firstDayOfWeek = (int)time.DayOfWeek;
            //获取当前时间已过的总天数(四舍五入)
            int day = int.Parse(ts.TotalDays.ToString("F0")) + 1;
            //今年第一天星期日
            if (firstDayOfWeek == 0)
            {
                day--;     //总天数减1
            }
            else
            {
                day = day - (7 - firstDayOfWeek + 1);   //减去第一周的天数
            }
            int thisDayOfWeek = (int)dt.DayOfWeek;  //当前日期的星期
            if (thisDayOfWeek == 0)       //星期日直接减7天
            {
                day = day - 7;
            }
            else
            {
                day = day - thisDayOfWeek;
            }
            //第一个星期完整的7天+ 当前时间这个星期的7天 除以7
            int week = (day + 7 + 7) / 7;
            return week;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值