LocalDate计算本月第一天、本月最后一天、下月第一天、本年第一天、本年最后一天、下一年第一天

  |   0 评论   |   0 浏览

使用Jdk8 LocalDate计算:

  • 本月第一天
  • 本月最后一天
  • 下月第一天
  • 本年第一天
  • 本年最后一天
  • 下一年第一天
    public static void main(String[] args) {
        LocalDate localDate = LocalDate.now();
        //今天
        Date day = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("今天:"+day);

        //这个月的第一天
        Date monthStart = Date.from(localDate.with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("本月第一天:"+monthStart);

        //这个月的最后一天
        Date monthEnd = Date.from(localDate.with(TemporalAdjusters.lastDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("本月最后一天:"+monthEnd);

        //下个月的第一天
        Date nextMonthStart = Date.from(localDate.plusMonths(1).with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("下个月的第一天:"+nextMonthStart);

        //今年的第一天
        Date yearStart = Date.from(localDate.with(TemporalAdjusters.firstDayOfYear()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("今年第一天:"+yearStart);

        Date yearEnd = Date.from(localDate.with(TemporalAdjusters.lastDayOfYear()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("今年最后一天:"+yearEnd);

        //下一年的第一天
        Date nextYearStart = Date.from(localDate.plusYears(1).with(TemporalAdjusters.firstDayOfYear()).atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("下一年第一天:"+nextYearStart);
    }

image.png



标题:LocalDate计算本月第一天、本月最后一天、下月第一天、本年第一天、本年最后一天、下一年第一天
作者:码霸霸
地址:https://blog.lupf.cn/articles/2022/02/14/1644825512434.html