.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天变成本周最后一天

 

posted @ 2018-01-15 16:06  lanpang  阅读(1948)  评论(0编辑  收藏  举报