LocalDateTime的使用

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());

       



    }



}