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,转换的结果正确

相关推荐
Thomas_YXQ4 分钟前
Unity3D在ios平台下内存的优化详解
开发语言·macos·ios·性能优化·cocoa
咸甜适中11 分钟前
rust的docx-rs库,自定义docx模版批量生成docx文档(逐行注释)
开发语言·rust·docx·docx-rs
浒畔居14 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
Java天梯之路15 分钟前
Spring Boot 钩子全集实战(七):BeanFactoryPostProcessor详解
java·spring boot·后端
Fcy64821 分钟前
C++ 异常详解
开发语言·c++·异常
wr20051440 分钟前
第二次作业,渗透
java·后端·spring
机器视觉知识推荐、就业指导41 分钟前
Qt 和 C++,是不是应该叫 Q++ 了?
开发语言·c++·qt
m0_748229991 小时前
ThinkPHP快速入门:从零到实战
c语言·开发语言·数据库·学习
liu****1 小时前
三.Qt图形界面开发完全指南:从入门到掌握常用控件
开发语言·c++·qt
阿蒙Amon1 小时前
C#每日面试题-Thread.Sleep和Task.Delay的区别
java·数据库·c#