我可以在Java中使用任何库来以Java中正确的人类可读日期格式正确转换19位unix时间戳吗?
Eg:
1547111550416874183
1547111550917748553
答案 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);
希望有帮助!