我有一个问题,我有一个来自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()))));
提前致谢。
答案 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)));