以下问题:
Log.d(getClass().getName(), String.valueOf(c.getTime()));
//c.getTime() returns a long value
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
c.getTime(),
System.currentTimeMillis(),
DateUtils.SECOND_IN_MILLIS
);
holder.timestamp.setText(String.valueOf(timeAgo));
给了我1970年2月18日的日期,即使我的logcat给了我正确的长值:
CardAdapter: 1465490137 (when i calculate to date manually it is: Thu, 09 Jun 2016 16:35:37 GMT)
CardAdapter: 1465489775
CardAdapter: 1465487453
任何人都有解决方案吗?
答案 0 :(得分:0)
1465490137毫秒是=> Sun Jan 18 1970 06:34:50 GMT + 0730
如果时间不同超过7天,DateUtils.getRelativeTimeSpanString()方法将返回日期字符串。默认情况下,精确的水平秒,分,小时和天不到7天。
请参考以下链接将毫秒转换为实际日期。 http://www.ruddwire.com/handy-code/date-to-millisecond-calculators/#.V7U5jpN97UI