You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从纪元以来的毫秒时间戳获取Java TemporalAccessor?

问题解答

首先明确:使用Instant.ofEpochMilli(timestamp)完全正确,直接满足你的需求,原因如下:

  • Instant是Java 8+日期时间API中专门表示UTC时间线上瞬时点的类,它的核心就是基于纪元(UTC 1970-01-01 00:00:00)以来的毫秒数构建的,完全匹配你提供的时间戳定义。
  • Instant直接实现了TemporalAccessor接口,所以可以直接作为参数传入接收该类型的第三方API,不需要额外的转换步骤。

如果第三方API有特殊要求(比如需要带时区信息的时间对象),你可以基于Instant进一步转换,比如:

// 转换为UTC时区的ZonedDateTime,同样实现了TemporalAccessor
ZonedDateTime zdt = instant.atZone(ZoneOffset.UTC);

但回到你的原始需求,仅需将UTC纪元毫秒数转为TemporalAccessor的话,Instant.ofEpochMilli(timestamp)是最精准、最直接的方案。

内容的提问来源于stack exchange,提问作者Vihung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:05:25