SimpleDateFormat 处理带有毫秒的时间字符串转化为时间不准的问题

SimpleDateFormat 处理带有微秒的字符串转化为时间会导致不准确

下面是代码示例:

java 复制代码
public static void main(String[] args) throws Exception{

        String timeStampStr = "2024-07-04 10:11:34.800017";
        System.out.println("带毫秒的时间格式: " + timeStampStr);


        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
        Date simpleDateFormatDate = simpleDateFormat.parse(timeStampStr);
        System.out.println("使用SimpleDateFormat转换后: " + simpleDateFormatDate);


        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
        LocalDateTime formatterDate = LocalDateTime.parse(timeStampStr, formatter);
        System.out.println("使用DateTimeFormatter转换后: " + formatterDate);
    }
    

运行的结果截图

我们可以发现原来的时间是 2024-07-04 10:11:34.800017 ,经过SimpleDateFormat 处理后变成了2024-07-04 10:21:54 ,而用DateTimeFormatter 处理后的结果是 2024-07-04 10:11:34.800017,转换的结果正确

相关推荐
Ulyanov16 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 基石——3-DOF质点弹道的高保真建模与数值稳定性分析
开发语言·python·算法·ui·系统仿真
学习中.........16 小时前
Java 并发容器深度解析:从早期遗留类到现代高并发架构
java·开发语言·架构
加号316 小时前
【C#】 实现程序最小化后重新拉起并强制置顶显示的技术指南
开发语言·c#
无所事事O_o16 小时前
你真的理解 volatile 关键字了吗?
java
wangl_9216 小时前
C# / .NET 在工业环境中的优势
开发语言·c#·.net·.netcore·.net core·visual studio
史迪仔011216 小时前
[QML] Qt5/6图像色彩空间处理
开发语言·前端·c++·qt
北冥湖畔的燕雀16 小时前
C++日志系统:从原理到实战实现
java·开发语言
java修仙传16 小时前
Java 实习日记:一次 Excel 导入校验 Bug 的定位与数据更新逻辑优化
java·数据库·bug·excel·后端开发
小短腿的代码世界16 小时前
传感器暗战:Qt Sensors如何让桌面应用“感知“物理世界?
开发语言·qt
小小编程路16 小时前
增强版 JavaScript 读取 Excel
开发语言·javascript·excel