.net 时间,获取本周第一天,月第一天

时不时用到,记录一下,要么老得重复想

先看本月和本月最后一天的

            DateTime dateNow = DateTime.Now;//当天
            DateTime dateCurrentMonthFirstDay = new DateTime(dateNow.Year,dateNow.Month,1);//本月第一天
            DateTime dateCurrentMonthLastDay = dateCurrentMonthFirstDay.AddMonths(1).AddDays(-1);//本月第一天变成下月第一天再减一天变成本月最后一天        

然后本周第一天我写了个方法(还有点优化空间,但不太重要)

        public DateTime GetFirstDayOfWeek(DateTime dt) {
            dt = dt ==null?DateTime.Now:dt;
            int daydiff = (int)dt.DayOfWeek - 1 < 0 ? 6 : (int)dt.DayOfWeek - 1;//如果是0结果小于0表示周日 那最后要减6天:其他天数在dayOfWeek上减1,表示回到周一
            DateTime result = dt.AddDays(-daydiff);
            return result;
        }

最后利用刚才生成的dateNow和新方法 计算本周第一天和最后一天

            DateTime dateWeekFirstDay = GetFirstDayOfWeek(dateNow);//本周第一天
            DateTime dateWeekLastDay = dateWeekFirstDay.AddDays(-1);//本周第一天加6天变成本周最后一天

 

转载于:https://www.cnblogs.com/stupidanimal/p/8288515.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值