首页 > 解决方案 > java中的19位时间戳转换

问题描述

有没有我可以在 java 中使用的库来在 java 中以正确的人类可读日期格式正确转换 19 位 unix 时间戳?

Eg:
1547111550416874183
1547111550917748553

标签: java

解决方案


从外观上看,您在那里有一个以纳秒为单位的时间戳。(如果它不在 nanos 中,请1_000_000_000相应调整)。

将其拆分为秒和纳米:

long seconds = timestamp / 1_000_000_000;
long nanos = timestamp % 1_000_000_000;

然后构造一个java.time.Instant

Instant instant = Instant.ofEpochSecond(seconds, nanos);

然后,您就可以使用整个java.timeAPI 来执行您需要的任何操作。


推荐阅读