/**
* date 有的,LocalDateTime也有。
* date 没有的,LocalDateTime还有。
* jdk8中才有的日期类
*/
@Test
void testLocalDateTime(){
/**
* 当前时间
*/
System.out.println(LocalDateTime.now())
System.out.println(LocalDate.now())
System.out.println(LocalTime.now())
/**
* 构造日期日期
*/
LocalDateTime localDateTime = LocalDateTime.of(2021,10,8,15,44,01)
LocalDate localDate = LocalDate.of(2021,10,8)
LocalTime localTime = LocalTime.of(15,44,01)
System.out.println(localDateTime.toString())
System.out.println(localDate.toString())
System.out.println(localTime.toString())
/**
* 获得年月日
*/
int year = localDateTime.getYear()
int month = localDateTime.getMonthValue()
int day = localDateTime.getDayOfMonth()
System.out.println(String.format("year:%s,month:%s,day:%s",year,month,day))
/**
* 获得秒数和毫秒数
*/
Instant instant = Instant.now()
System.out.println(instant.getEpochSecond())
System.out.println(instant.getNano())
localDateTime = localDateTime.plusYears(1)
localDate = localDate.plusYears(1)
localTime = localTime.plusHours(1)
System.out.println(localDateTime.toString())
System.out.println(localDate.toString())
System.out.println(localTime.toString())
/**
* 和SimpleDateFormat相比,DateTimeFormatter是线程安全的
*/
String localDateTimeStr = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE)
System.out.println(localDateTimeStr)
LocalDateTime parseDate = LocalDateTime.parse("20211008154401",DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
System.out.println(parseDate.toString())
}