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

相关推荐
澈2075 分钟前
C++并查集:高效解决连通性问题
java·c++·算法
郝学胜-神的一滴1 小时前
Qt 入门 01-01:从零基础到商业级客户端实战
开发语言·c++·qt·程序人生·软件构建
测试员周周1 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
2401_873479402 小时前
运营活动被薅羊毛怎么防?用IP查询+设备指纹联动封堵漏洞
java·网络·tcp/ip·github
ShiJiuD6668889992 小时前
大事件板块一
java
摇滚侠2 小时前
@Autowired 和 @Resource 的区别
java·开发语言
Wy_编程2 小时前
go语言中的结构体
开发语言·后端·golang
SeaTunnel2 小时前
(八)收官篇 | 数据平台最后一公里:数据集成开发设计与上线治理实战
java·大数据·开发语言·白鲸开源
大卡片3 小时前
C++的基础知识点
开发语言·c++
吴声子夜歌3 小时前
Java——线程的基本协作机制
java·线程协作