Aje*_*mar 13 datetime-conversion java-8 java-time
如何转换LocalDateTime到java.sql.Date在Java的8?
我的网上搜索大多是给我Timestamp相关的代码或LocalDate到java.sql.Date.我在寻找LocalDateTime到java.sql.Date.
小智 20
@M.普罗霍罗夫的回答是正确的,我只想补充几点.
A java.sql.Date仅保留日,月和年值.所述时间值(小时,分钟,秒和毫秒)都被设置为零.因此,在将a转换LocalDateTime为a时java.sql.Date,这些字段将丢失.
如果您正在进行单向转换并且不介意丢失这些字段,那么可以这样做:
LocalDateTime dt = // LocalDateTime value
// convert to Date (time information is lost)
java.sql.Date date = java.sql.Date.valueOf(dt.toLocalDate());
Run Code Online (Sandbox Code Playgroud)
但是如果你想LocalDateTime稍后恢复原始版本,最好是单独保存时间字段,这样你就可以恢复它:
LocalDateTime dt = // your LocalDateTime
// save time information (hour, minute, seconds, fraction of seconds)
LocalTime savedTime = dt.toLocalTime();
// convert to Date (time information is lost)
java.sql.Date date = java.sql.Date.valueOf(dt.toLocalDate());
// retrieve back the LocalDate (only day/month/year)
LocalDate localDate = date.toLocalDate();
// retrieve the LocalDateTime, with the original time values
LocalDateTime ldt = localDate.atTime(savedTime);
Run Code Online (Sandbox Code Playgroud)
M. *_*rov 16
在LocalDateTime和之间没有直接关联java.sql.Date,因为前者是时间戳,后者是 - 日期.
但是,LocalDate和之间存在关系java.sql.Date,并且可以像这样进行转换:
LocalDate date = //your local date
java.sql.Date sqlDate = java.sql.Date.valueOf(date)
Run Code Online (Sandbox Code Playgroud)
哪个LocalDateTime给出了以下代码:
LocalDateTime dateTime = // your ldt
java.sql.Date sqlDate = java.sql.Date.valueOf(dateTime.toLocalDate());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21817 次 |
| 最近记录: |