You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将java.sql.Date对象转换为java.time.LocalDateTime对象

java.sql.Date 转换为 java.time.LocalDateTime 方案

java.sql.Date对应SQL标准的DATE类型,仅存储年月日信息,无时分秒部分,可通过以下两种方式完成转换:

方案1(JDBC 4.2及以上版本推荐)

直接调用java.sql.Date内置的toLocalDate()方法转换为LocalDate,再拼接初始时间得到LocalDateTime:

// sqlDate为你已有的java.sql.Date对象
LocalDateTime localDateTime = sqlDate.toLocalDate().atStartOfDay();

方案2(兼容低版本JDBC)

基于getTime()方法获取毫秒值,借助java.util.Date中转完成转换:

// sqlDate为你已有的java.sql.Date对象
java.util.Date utilDate = new java.util.Date(sqlDate.getTime());
LocalDateTime localDateTime = utilDate.toInstant()
        .atZone(ZoneId.systemDefault())
        .toLocalDateTime();

注意事项

  • 转换得到的LocalDateTime默认时间为00:00:00,若业务需要保留时分秒信息,建议从数据源层面改用java.sql.Timestamp类型存储时间值
  • 调整ZoneId参数可适配不同时区的转换需求

内容的提问来源于stack exchange,提问作者Woodchuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:09:00