1、LocalDate、LocalTime、LocalDateTime
package demo; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; /** * @description: demo17 * @author: liuyang * @create: 2021-08-30 16:21 */ public class Demo17 { public static void main(String[] args) { // 当前日期 LocalDate localDate = LocalDate.now(); // 当前时间 LocalTime localTime = LocalTime.now(); // 当前日期+时间 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate); System.out.println(localTime); System.out.println(localDateTime); // 创建指定日期对象 LocalDate localDate1 = LocalDate.of(2019, 8, 30); // 创建指定日期时间对象 LocalDateTime localDateTime1 = LocalDateTime.of(2021, 8, 30, 16, 31, 50); System.out.println(localDate1); System.out.println(localDateTime1); // 一个月的第几天 System.out.println(localDateTime1.getDayOfMonth()); // 一周的第几天 System.out.println(localDateTime1.getDayOfWeek()); // 月份英文 System.out.println(localDateTime1.getMonth()); // 月份数字 System.out.println(localDateTime1.getMonthValue()); // 时间中的分钟 System.out.println(localDateTime1.getMinute()); // 在localDate1的基础上得到一个新的日期对象且为一个月的第18天 LocalDate localDate2 = localDate1.withDayOfMonth(18); // 在localDateTime2的基础上得到一个新的日期时间对象且小时数为18 LocalDateTime localDateTime2 = localDateTime1.withHour(18); System.out.println(localDate2); System.out.println(localDateTime2); // 在localDate3的基础上得到一个新的日期对象且新日期在原来日期上加1天 LocalDate localDate3 = localDate1.plusDays(1); // 在localDateTime3的基础上得到一个新的日期时间对象且在原来的小时上减去4小时 LocalDateTime localDateTime3 = localDateTime1.minusHours(4); System.out.println(localDate3); System.out.println(localDateTime3); } }
2、Instant(瞬时点)
package demo; import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneOffset; /** * @description: demo18 * @author: liuyang * @create: 2021-08-30 16:54 */ public class Demo18 { public static void main(String[] args) { // 获取本初子午线对应的标准时间 Instant instant = Instant.now(); // 获取东八区对应的时间 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8)); System.out.println(instant); System.out.println(offsetDateTime); // 获取瞬时点对应的毫秒数 long epochMilli = instant.toEpochMilli(); System.out.println(epochMilli); // 某个毫秒数对应的瞬时点 Instant instant1 = Instant.ofEpochMilli(epochMilli); System.out.println(instant1); } }