package com.atguigu.java; import org.junit.Test; import java.time.*; import java.util.Date; /** * @author Suki * @creat 2022-09-21 17:54 */ public class JDK8DateTimeTest { @Test public void testDate() { //偏移量 Date date1 = new Date(2020 - 1900, 9 - 1, 8); System.out.println(date1);//Tue Sep 08 00:00:00 CST 2020 } /* LocalDate、LocalTime、LocalDateTime的使用 说明: 1.LocalDateTime用得更多 2.类似于Calendar */ @Test public void test1() { //now():获取当前的日期、时间、日期+时间 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate);//2022-09-21 System.out.println(localTime);//18:58:03.988 System.out.println(localDateTime);//2022-09-21T18:58:03.988 //of():设置指定的年、月、日、时、分、秒。没有偏移量 LocalDateTime localDateTime1 = LocalDateTime.of(2022, 12, 27, 10, 23, 52); System.out.println(localDateTime1);//2022-12-27T10:23:52 //getXxx():获取相关的属性 System.out.println(localDateTime.getDayOfMonth());//21 System.out.println(localDateTime.getDayOfYear());//264 System.out.println(localDateTime.getDayOfWeek());//WEDNESDAY //体现不可变性 //withXxx():设置相关的属性 LocalDate localDate1 = localDate.withDayOfMonth(19); System.out.println(localDate1);//2022-09-19 System.out.println(localDate);//2022-09-21 LocalDateTime localDateTime2 = localDateTime.withHour(4); System.out.println(localDateTime2);//2022-09-21T04:10:24.186 System.out.println(localDateTime);//2022-09-21T19:10:24.186 //不可变性 LocalDateTime localDateTime3 = localDateTime.plusMonths(3); System.out.println(localDateTime3);//2022-12-21T19:14:33.143 System.out.println(localDateTime);//2022-09-21T19:14:33.143 } /* Instant的使用 */ @Test public void test2(){ //now():获取本初子午线对应的标准时间 Instant instant = Instant.now(); System.out.println(instant);//2022-09-21T11:40:11.244Z //添加时间的偏移量 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8)); System.out.println(offsetDateTime);//2022-09-21T19:45:07.727+08:00 }
LocalDate、LocalTime、LocalDateTime的使用