JDK8之前与JDK8中日期、时间相关类的对应
JDK8之前 | JDK8中 |
---|
java.util.Date 和 java.sql.Date | Instant |
SimpleDateFormat | DateTimeFormatter |
calendar | LocalDate、LocalTime、LocalDateTime |
LocalDate、 LocalTime. LocalDateTime 的使用
@Test
public void test1(){
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDate);
System.out.println(localTime);
System.out.println(localDateTime);
LocalDateTime localDateTime1 = LocalDateTime.of(2021, 4, 15, 9, 15, 20);
System.out.println(localDateTime1);
System.out.println(localDateTime.getDayOfMonth());
System.out.println(localDateTime.getDayOfWeek());
System.out.println(localDateTime.getMonth());
System.out.println(localDateTime.getHour());
System.out.println(localDateTime.getMinute());
LocalDateTime localDateTime2 = localDateTime1.withDayOfMonth(22);
System.out.println(localDateTime1);
System.out.println(localDateTime2);
LocalDateTime localDateTime3 = localDateTime.plusMonths(3);
System.out.println("-------"+localDateTime);
System.out.println(localDateTime3);
LocalDateTime localDateTime4 = localDateTime.minusDays(6);
System.out.println(localDateTime4);
}
instant的使用 瞬时点
@Test
public void test2(){
Instant instant = Instant.now();
System.out.println(instant);
OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime);
long l = instant.toEpochMilli();
System.out.println(l);
Instant instant1 = Instant.ofEpochMilli(1618822854909L);
System.out.println(instant1); 2021-04-19T09:00:54.909Z
}
DateTimeFormatter 类: 格式化、解析
@Test
public void test3(){
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss E");
String str = timeFormatter.format(LocalDateTime.now());
System.out.println(str);
TemporalAccessor parse = timeFormatter.parse("2021-04-19 05:26:05 星期一");
System.out.println(parse);
}