let currDate = moment(new Date(),"YYYY-MM-DD");
        var firstDay= moment(currDate.startOf("month").valueOf()).format('YYYY-MM-DD');//获取该月份第一天的时间戳
        var endDay = moment(currDate.endOf("month").valueOf()).format('YYYY-MM-DD');//获取该月份最后一天的时间戳
        var monday = moment().weekday(0).format('YYYY-MM-DD');//本周一
        var sunday = moment().weekday(6).format('YYYY-MM-DD');//本周日

  2, java 获取当月第一天和最后一天

            //获取当月第一天
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String firstDay, lastDay;
            Calendar cale = null;
            cale = Calendar.getInstance();
            // 获取当前月的第一天
            cale = Calendar.getInstance();
            cale.add(Calendar.MONTH, 0);
            cale.set(Calendar.DAY_OF_MONTH, 1);
            firstDay = format.format(cale.getTime());
            // 获取当前月的最后一天
            cale = Calendar.getInstance();
            cale.add(Calendar.MONTH, 1);
            cale.set(Calendar.DAY_OF_MONTH, 0);
            lastDay = format.format(cale.getTime());

  3,java获取当前周一和周日,上周一和上周日

* 获取 date 日期 的上一周的开始结束日期,即使给定的日期是周一 也会 计算上一周的日期 * @param date 基准日期点 * @return [0]:上一周的开始日期;[1] 上一周的结束日期 public static LocalDate[] getLastWeek(LocalDate date) { LocalDate[] weeks = new LocalDate[2]; LocalDate localDate = date.minusWeeks(1); weeks[0] = localDate.with(DayOfWeek.MONDAY); weeks[1] = localDate.with(DayOfWeek.SUNDAY); return weeks; * 获取 date 日期 的这一周的开始结束日期,即使给定的日期是周一 也会 计算这一周的日期 * @param date 基准日期点 * @return [0]:这一周的开始日期;[1] 这一周的结束日期 public static LocalDate[] getThisWeek(LocalDate date) { LocalDate[] weeks = new LocalDate[2]; LocalDate localDate = date.minusWeeks(0); weeks[0] = localDate.with(DayOfWeek.MONDAY); weeks[1] = localDate.with(DayOfWeek.SUNDAY); return weeks; * Date转LocalDate * @param date public static LocalDate date2LocalDate(Date date) { if(null == date) { return null; return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();