java - Android 中解析 Unix 时间戳时遇到问题

标签 java android unix-timestamp

我在使用 JSON 解析从服务器带回的时间戳字符串时遇到了一些麻烦。我使用以下代码从 HashMap 中提取时间戳并将其显示在日志中:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Long time = Long.parseLong(event.get("time"));
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time);
String event_date = sdf.format(cal.getTime());
Log.v("Date", event_date);

但是对于我传入此方法的每个时间戳,它都会带回日期 1970 年 1 月 16 日,我尝试解析的时间戳示例是 1336773600,它应对应于 2012 年 5 月 11 日。我看不出我在这里做错了什么,但显然我是。有什么建议吗?

最佳答案

Unix 时间戳是自纪元以来的秒数。 Java 使用纪元以来的毫秒数。

将您的 Unix 时间戳乘以 1000 进行调整。

关于java - Android 中解析 Unix 时间戳时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10518946/

相关文章:

java - 当我们声明静态时分配的内存在哪里?

android - 回收站 View : How to tell not to recycle?

bash - 我们如何根据 unix 中的给定日期获取工作日

java - 用于序列化/反序列化 unix 时间戳的 Gson 日期格式

java - 在一组带组的多个限制器之间提取字符串

java - 在java中使用indexOf分割字符串时遇到问题

Java 多维数组 - 为什么只定义第一个大小就足够了?

java - "Invalid BSON field name"更新插入期间

java - 无法显示来自 Intent 的字符串

mysql - 创建触发器将 UNIX_TIMESTAMP() 插入日志表