Java中的19位时间戳转换

时间:2019-01-10 09:19:58

标签: java

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

Eg:
1547111550416874183
1547111550917748553

2 个答案:

答案 0 :(得分:3)

从外观上看,您那里有一个以纳秒为单位的时间戳。 (如果不是纳米,请相应地调整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.time API来完成您需要做的任何事情。

答案 1 :(得分:-2)

您可以使用此:

SimpleDateFormat sdf = new SimpleDateFormat("MMMM d, yyyy 'at' h:mm a");
String date = sdf.format(myTimestamp);

希望有帮助!