android中历元日期到人类可读格式的转换

android中历元日期到人类可读格式的转换,android,Android,我有一个问题,我有一个来自Web服务的纪元日期,我想以人类可读的格式显示它,如2012年7月12日,但我的代码总是显示任何纪元日期的1970年1月16日。我不知道我错在哪里,也不知道如何在Java中将历元日期转换为日期。请向我建议任何解决方案 代码: Date.setText(new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date(Long.parseLong(newsDetail.getDate_Posted

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

代码:

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

提前谢谢。

我有一种预感,
Long.parseLong(newsdeail.getDate\u Posted())
正在从历元返回秒,而不是毫秒

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

尝试使用:

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