LocalDate : 只含年月日的日期对象
LocalTime :只含时分秒的时间对象
LocalDateTime : 同时含有年月日时分秒的日期对象
package com.demo;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class LocalDateTimeTest {
public static void main(String[] args){
//获取当前时间
System.out.println(LocalDate.now());
System.out.println(LocalDateTime.now());
System.out.println(LocalTime.now());
//根据指定日期/时间创建对象
System.out.println(LocalTime.of(9,32,20));
System.out.println(LocalDate.of(2023,1,17));
System.out.println(LocalDateTime.of(2024,1,23,9,23,11));
//日期时间的加减
System.out.println(LocalDate.now().plusDays(7));
System.out.println(LocalDate.now().plusMonths(3));
System.out.println(LocalDate.now().plusYears(1));
System.out.println(LocalTime.now().plusHours(1));
System.out.println(LocalTime.now().plusMinutes(20));
System.out.println(LocalTime.now().plusSeconds(30));
//判断时间前后的比较和判断
LocalDate localDate1=LocalDate.of(2023,1,12);
LocalDate localDate2=LocalDate.of(2023,5,12);
System.out.println(localDate1.isAfter(localDate2));
//时间戳
Instant instant=Instant.now();
System.out.println(Date.from(instant).toInstant());
//字符串转化成日期对象
String datetime="2023-09-08 10:20:20";
DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(LocalDateTime.parse(datetime,formatter));
//日期对象转化成字符串
Instant instant1=Instant.now();
System.out.println(instant1);//这个输出的不是北京时间,与北京时间相差8个小时,下面方法是获取北京当前时间
LocalDateTime ldt = LocalDateTime.ofInstant(instant1, ZoneId.systemDefault());
System.out.println(ldt);
//获取时间戳
System.out.println(instant1.getEpochSecond());
System.out.println(instant1.toEpochMilli());
}
}