package com.zs.boot.controller;
import org.junit.Test;
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TestlocalDateTime {
//4. TemporalAdjuster : 时间校正器
@Test
public void test4(){
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);//2021-12-05T11:04:00.661
//指定day为10
LocalDateTime ldt2 = ldt.withDayOfMonth(10);
System.out.println(ldt2);//2021-12-10T11:04:00.661
//下个星期天
LocalDateTime ldt3 = ldt.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
System.out.println(ldt3);//2021-12-12T11:04:00.661
//自定义:下一个工作日
LocalDateTime ldt5 = ldt.with((t) -> {
LocalDateTime ldt4 = (LocalDateTime) t;
//获取周几
DayOfWeek dow = ldt4.getDayOfWeek();
if(dow.equals(DayOfWeek.FRIDAY)){//周五加3天
return ldt4.plusDays(3);
}else if(dow.equals(DayOfWeek.SATURDAY)){//周六加2天
return ldt4.plusDays(2);
}else{
return ldt4.plusDays(1);//周日或者其他周几都是加1天得到下个工作日
}
});
System.out.println(ldt5);//2021-12-06T11:04:00.661
}
}
Java8新特性_新时间和日期API-时间校正器
最新推荐文章于 2022-11-14 10:35:39 发布