2016-08-21 168 views
0

目前我正在使用DateUtils.getRelativeTimeSpanString來獲得類似的輸出。DateUtils.getRelativeTimeSpanString沒有給出正確的結果

8 minutes ago 
8 hours ago 

但是,它返回。我的代碼正是在這種post

In 4 hr 
In 5 hr 

這裏是我的代碼

long postTime = getDateInMillis(pubDate); 
CharSequence time = DateUtils.getRelativeTimeSpanString(System.currentTimeMillis(),postTime,DateUtils.MINUTE_IN_MILLIS,DateUtils.FORMAT_ABBREV_RELATIVE); 

我getDateInMillis方法

public static long getDateInMillis(String srcDate) { 

    SimpleDateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z",Locale.getDefault()); 

    long dateInMillis = 0; 
    try { 
     Date date = formatter.parse(srcDate); 
     dateInMillis = date.getTime(); 
     return dateInMillis; 
    } 

    catch (java.text.ParseException e) { 
     e.printStackTrace(); 
    } 

    return 0; 
} 

請幫我得到我想要的正確的格式。謝謝。

回答

0

我愚蠢的錯誤。

爲什麼它發生的原因是由於該行

CharSequence time = DateUtils.getRelativeTimeSpanString(System.currentTimeMillis(),postTime,DateUtils.MINUTE_IN_MILLIS,DateUtils.FORMAT_ABBREV_RELATIVE); 

我切換的System.currentTimeMillis(),位置和postTime然後返回正確的格式。