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

相关推荐
@淡 定10 分钟前
DDD领域事件详解:抽奖系统实战
开发语言·javascript·网络
lly20240620 分钟前
DOM 简介
开发语言
期待のcode20 分钟前
Java的反射
java·开发语言
j .22 分钟前
Java 集合的核心概念笔记
开发语言·python
2201_7578308735 分钟前
AOP入门程序
java·开发语言
雨中飘荡的记忆36 分钟前
MyBatis反射模块详解
java·mybatis
宸津-代码粉碎机38 分钟前
Spring 6.0+Boot 3.0实战避坑全指南:5大类高频问题与解决方案(附代码示例)
java·数据仓库·hive·hadoop·python·技术文档编写
笃行客从不躺平40 分钟前
ThreadLocal 复习一
java·开发语言
程序帝国43 分钟前
SpringBoot整合RediSearch(完整,详细,连接池版本)
java·spring boot·redis·后端·redisearch
安卓程序员_谢伟光44 分钟前
如何监听System.exit(0)的调用栈
java·服务器·前端