我試圖將字符串時間戳轉換爲如下所示:如何將字符串時間戳更改爲人類可讀的日期格式?
2分鐘前。 1小時前。 4天前。 3周前。 5個月前。 1年前。
我使用Java的DateUtils.getRelativeTimeSpanString()
方法進行轉換,但它顯示的日期類似於2016年1月1日。我希望它顯示爲6個月前。
下面是代碼:
long now = System.currentTimeMillis();
System.err.println();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.ENGLISH);
Date startDate;
try {
startDate = df.parse(userLogs.get(i).getDate());
String sds = (String) DateUtils.getRelativeTimeSpanString(startDate.getTime(),System.currentTimeMillis(),DateUtils.MINUTE_IN_MILLIS);
System.err.println(sds);
} catch (ParseException e) {
e.printStackTrace();
}
更新:我不想使用喬達時間或爲什麼它被標記爲重複我不明白,任何其他庫!
考慮使用JodaTime,[見這以前的答案](https://開頭stackoverflow.com/questions/2179644/how-to-calculate-elapsed-time-from-now-with-joda-time) –
將來是'startDate'嗎? (不是過去) – Yazan
@Yazan想到這種方式,看看你的評論旁邊的時間,它會顯示44秒前現在和後來它會改變一些東西,我想這正是 – Praneeth