java - java中的19位时间戳转换
问题描述
有没有我可以在 java 中使用的库来在 java 中以正确的人类可读日期格式正确转换 19 位 unix 时间戳?
Eg:
1547111550416874183
1547111550917748553
解决方案
从外观上看,您在那里有一个以纳秒为单位的时间戳。(如果它不在 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.time
API 来执行您需要的任何操作。
推荐阅读
- php - PHP SQL | 在表中查找行,如果不存在,使用其他表
- reactjs - 如果直接从 index.js 调用,Nexjs getStaticProps / getInitialProps 通过工作返回未定义的组件
- android - Android 模拟器中的布局看起来与布局编辑器上显示的不同
- flutter - Flutter 2.0.0 Link Widget 使用方法?
- python - 如何创建n个变量的函数(python)
- mongodb - 获取所有文档,其中 diff beetwen 当前时间戳和一些具有纳秒值的列的值更多一些间隔
- android - 如何更改材质 TabItem 中的图标大小?
- ios - swift - iOS 如何防止 ios 自定义导航栏在键盘出现时向上移动
- http - 找不到与具有绑定 BasicHttpBinding 的端点的方案 https 匹配的基地址。注册的基地址方案是 [http]
- here-api - 使用 HERE Rest API 的最佳实践 - 直接通过客户端或通过我的后端服务器