DateUtils getRelativeTimeSpanString总是返回相同的日期

时间:2016-06-09 18:53:07

标签: java android datetime formatting long-integer

以下问题:

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 

任何人都有解决方案吗?

1 个答案:

答案 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