日期转换: JDK8版本前后和java.sql.Date相互转换

import org.junit.Test;

import java.text.ParseException;
import java.time.LocalDate;
import java.util.Date;

public class DateTest {
    @Test
    public void test1() throws ParseException {
        //JDK8之前java.util.Date转为java.sql.Date的对象
        //Date --> java.sql.Date
        Date date1 = new Date();
        long time1 = date1.getTime();
        java.sql.Date date2 = new java.sql.Date(time1);
        System.out.println(date2);

        //java.sql.Date --> Date
        java.sql.Date date3 = new java.sql.Date(1626111257409L);
        long time2 = date3.getTime();
        Date date4 = new Date(time2);
        System.out.println(date4);

        //日期字符串转为java.util.Date
        String date5 = "2008-08-08";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date6 = sdf.parse(date5);
        System.out.println(date6);
    }

    @Test
    public void test2(){
        //JDK8 LocalDate和java.sql.Date相互转换
        //LocalDate --> java.sql.Date
        LocalDate localDate1 = LocalDate.of(2008, 8, 8);
        java.sql.Date date1 = java.sql.Date.valueOf(localDate1);
        System.out.println(date1);

        //java.sql.Date --> LocalDate
        LocalDate localDate2 = date1.toLocalDate();
        System.out.println(localDate2);

    }
}

发表评论