0

我在解析使用 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 日。我看不出我在做什么错在这里但显然我是。有什么建议么?

4

2 回答 2

8

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

将您的 unix 时间戳乘以 1000 以对此进行调整。

于 2012-05-09T15:19:36.877 回答
2

尝试:

cal.setTimeInMillis(time * 1000);

将秒转换为毫秒。

于 2012-05-09T15:21:35.737 回答