首页 > 文章列表 > LocalDateTime时间戳结尾多1或2的原因是什么以及如何解决?

LocalDateTime时间戳结尾多1或2的原因是什么以及如何解决?

158 2025-03-21

LocalDateTime时间戳结尾多1或2的原因是什么以及如何解决?

LocalDateTime时间戳结尾多1的原因及解决

在生成时间戳时,使用LocalDateTime.parse方法和toInstant方法可以将时间字符串转换成Instant类型,并将时间偏移量指定为 8。但是,这种方式生成的时间戳精度是毫秒级别的,可能存在微小的时间差异。

这会导致时间戳末尾有1或2的情况,因为这些时间差异是在微秒或更小的级别上发生的。

为了避免这种情况,可以提高时间精度到微秒级别。具体修改方法如下:

将DateTimeFormatter的格式改为"yyMMddHHmmssSSS"。
将toEpochMilli方法改为toEpochSecond方法,并将结果乘以1000来得到秒级别的时间戳。

这样一来,生成的时间戳的精度将提高到微秒级别,有效避免生成时间戳末尾带有1或2的情况。

来源:1732788219