java - 将纪元时间戳转换为可读日期不起作用

标签 java android timestamp epoch

我正在尝试使用此代码来转换我的时间戳,但输出完全错误,输出是 17/01/1970 16:56:28!应该是 8/7/2014 5:14:59 PM

Date date = new Date(1407388499);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String formatted = format.format(date);
System.out.println(formatted);
format.setTimeZone(TimeZone.getTimeZone("Australia/Sydney"));
formatted = format.format(date);
System.out.println(formatted);

请帮帮我

最佳答案

你的约会时间不够长

new Date(1407388499);
Sat Jan 17 1970 15:56:28 GMT+0900 (Japan Standard Time)
new Date(1407388499000);
Thu Aug 07 2014 14:14:59 GMT+0900 (Japan Standard Time)

该值应该是一个 Long,即毫秒数

编辑

如果您收到的号码是

 int dt = 1407388499:

那么你需要做

Date date = new Date(1000L * dt);    

关于java - 将纪元时间戳转换为可读日期不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781652/

相关文章:

java - 正确打印多行 xml 节点

postgresql - Postgres 时差

c# 我可以使用 streamwriter 创建一个动态文件名吗?

java 。获取上次文件修改的日期

Java:无法关闭 HtmlUnit 日志消息(2016)

java - 无法从 SQL 执行中正确获取 ResultSet

java - 没有身份验证标签的 AES GCM 解密

android - 我们如何从 Android 中的 Google Places API 获取附近的地点?

java - 升级 firebase-crash 导致构建 apk 时出错

android - 如何解决在直接将图像从 android 库共享到我的 flutter 应用程序时收到的奇怪和不完整的 Uri 和路径