Unix时代到Java日期对象

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

我有一个包含UNIX Epoch时间的字符串,我需要将它转换为Java Date对象。

String date = "1081157732";
DateFormat df = new SimpleDateFormat(""); // This line
try {
  Date expiry = df.parse(date);
 } catch (ParseException ex) {
  ex.getStackTrace();
}

标记的线是我遇到麻烦的地方。我无法弄清SimpleDateFormat()的参数应该是什么,或者即使我应该使用SimpleDateFormat()。

提问于
用户回答回答于

如何只是:

Date expiry = new Date(Long.parseLong(date));

仔细看看在问题中指定的输入,“1081157732”似乎是基于秒的时代值,所以你想要乘以长从parseLong()1000以转换到毫秒,这是Java的Date构造函数使用的,所以:

Date expiry = new Date(Long.parseLong(date) * 1000);
用户回答回答于

时代是自1970年1月1日以来的秒数

所以:

String epochString = "1081157732";
long epoch = Long.parseLong( epochString );
Date expiry = new Date( epoch * 1000 );

扫码关注云+社区