在Android中将Epoch Date转换为Human Readable格式

时间:2012-07-12 21:05:57

标签: android

我有一个问题,我有一个来自Web Services的Epoch日期,我想以人类可读的格式显示它,如2012年7月12日,但我的代码总是显示16/01/1970任何Epoch日期。我不知道我在哪里错了或如何在Java中将Epoch Date转换为Date。请建议我任何解决方案。

代码:

Date.setText(new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date(Long.parseLong(newsDetail.getDate_Posted()))));

提前致谢。

1 个答案:

答案 0 :(得分:0)

我预感Long.parseLong(newsDetail.getDate_Posted())从纪元返回的秒数不是毫秒

如果你总是看到16/01/1970,那么Long.parseLong(newsDetail.getDate_Posted())介于1296000000和1382400000之间。事实证明,如果我将这些最小和最大数量乘以1000,我会看到 26/1之间的日期/ 2011 2013年10月21日。我猜你期待的日期落在这个新的范围内。

尝试使用:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
date.setText(sdf.format(new Date(Long.parseLong(newsDetail.getDate_Posted()) * 1000)));