java8新特性获取(当月,上月,下月)(第一天,最后一天)

public class m3 {
    @Test
    public void t1(){
        var n= LocalDate.now();
        System.out.println(n);
        //获取本月的第一天
        System.out.println(n.with(TemporalAdjusters.firstDayOfMonth()));
        //获取下个月的第一天2022-03-01
        var onenext=n.with(TemporalAdjusters.firstDayOfNextMonth());
        System.out.println(onenext);
        //获取上月的第一天2022-01-01
        //minus创建Temporal对象的一个副本,
        // 通过将当前Temporal对象的值减去一定的时长创建该副本
        var oneprev=n.minus(1, ChronoUnit.MONTHS).with(TemporalAdjusters.firstDayOfMonth());
        System.out.println(oneprev);
        //获取当月的最后一天2022-02-28
        var two=n.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(two);
        //获取上月的最后一天2022-01-31
        var twoprev=n.minus(1,ChronoUnit.MONTHS).with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(twoprev);
        //获取下月的最后一天2022-03-31
        var twonext=n.plus(1,ChronoUnit.MONTHS).with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(twonext);
    }
}

版权声明:本文为qq_57961473原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。