java.sql.Date是一个日期类,用于存储日期、时间和时区信息。
LocalDate只存储日期,没有时间和时区信息。这个简短的教程讲述了如何在java中把sql date转换为/从localdate中转换,并附有例子。
LocalDate有valueOf ,可以转换为sql日期。
import java.sql.Date;
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2020, 07, 27);
System.out.println(localDate); //2020-07-27
Date sqlDate = Date.valueOf(localDate);
System.out.println(sqlDate); //2020-07-27
}
}
我们可以通过多种方式将sql日期转换为LocalDate
-
使用toInstant()方法
-
创建java.util.Date对象来获取当前日期
-
使用默认区域的toInstant方法将currentDate转换为LocalDate。
Date currentDate = new Date(System.currentTimeMillis());
LocalDate current = currentDate.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
java.sql.Date有toLocaleDate方法,返回LocalDate对象。
这是一个简单的例子
import java.sql.Date;
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
Date currentDate = new Date(System.currentTimeMillis());
System.out.println(currentDate);
LocalDate ld=currentDate.toLocalDate();
System.out.println(ld);
}
}