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

Java如何格式化日期不丢失微秒?数据库时间查询匹配问题

保留微秒的日期格式化解决方案

问题场景

从数据库表中提取的日期字符串格式示例为:"2022-09-23-11.25.52.660135",需要将该日期转为字符串用于二次查询,但格式化时总是丢失最后三位数字(135),导致查询无结果。

尝试过的无效方案

最初使用SimpleDateFormat进行格式化,代码如下:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SS");

后续尝试过yyyy-MM-dd-HH.mm.ss.SSS或yyyy-MM-dd-HH.mm.ss.SSSSSS格式,结果都是补零而非保留原始的最后三位微秒数字。

有效解决方案

修改实体类中对应字段的类型,将原本的Timestamp替换为LocalDateTime:

  • 原字段定义:
    @Column(name = "TIMESTAMP_B_B03") private Timestamp timestampB03;
    
  • 修改后:
    @Column(name = "TIMESTAMP_B_B03") private LocalDateTime timestampB03;
    

注:数据库中该列实际类型为Timestamp,但Java中使用LocalDateTime才能正确获取到微秒级精度的时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:00:44