package com.ydlclass.date;

import java.sql.Time;
import java.time.*;
import java.util.Date;

public class TypeRevert {
    public static void main(String[] args) {
        Instant now = Instant.now();
        Date from = Date.from(now);//类型转换,这个函数Date这个类特意加上的内容
        Date date = new Date();
        Instant instant = date.toInstant();
        System.out.println(instant);//date转化为instant类型

        LocalDate gmt = LocalDate.ofInstant(now, ZoneId.systemDefault());//instant类型转化为localdate类型的对象

        LocalDateTime now1 = LocalDateTime.now();

        LocalDate from1 = LocalDate.from(now1);//使用这种方式转化

        LocalTime from2 = LocalTime.from(now1);//异常,由于精度的问题,从localdatetime 可以转化为localdate、localtime。但是其中之一
        //却无法转化为localdatetime实例对象

        Instant from3 = Instant.from(now1);//这种方式不让转,我们使用LocalDate.ofInstant()方法转化为Instant类型的实例对象。
        
        System.out.println(from3);


        System.out.println(from2);

        System.out.println(from1);

        System.out.println(gmt);


        System.out.println(from);
    }
}