私はJavaとAndroidの初心者です。Androidニュースアプリの1つに「2014年8月7日午前8時20分」と時刻が表示されています。
しかし、次のように表示する必要があります:
5 mins ago
1 hour ago
2 days ago
プリティタイムやジョダなど、たくさんのライブラリを見つけました。しかし、それをAndroidアプリに追加する方法がわかりません。このリンクでもhttps://stackoverflow.com/a/13018647/2020685教えてください。しかし、日付と時刻を渡すにはどうしたらいいのでしょうか。
それを実行するための簡単なコード。
ありがとう
ベストアンサー1
表示したいものは相対時間表示と呼ばれます。Android には、現在の時刻を基準にして時間を表示する方法が用意されています。この目的のためだけにサードパーティのライブラリを使用する必要はありません。
使用できます
DateUtils.getRelativeTimeSpanString(long time, long now, long minResolution)
ドキュメントはこちらを参照
例えば。
DateUtils.getRelativeTimeSpanString(your_time_in_milliseconds, current_ time_in_millisecinds,DateUtils.MINUTE_IN_MILLIS);
更新1:
日付を渡してミリ秒を取得するには、次のように試してください。
public static long getDateInMillis(String srcDate) {
SimpleDateFormat desiredFormat = new SimpleDateFormat(
"d MMMM yyyy, hh:mm aa");
long dateInMillis = 0;
try {
Date date = desiredFormat.parse(srcDate);
dateInMillis = date.getTime();
return dateInMillis;
} catch (ParseException e) {
Log.d("Exception while parsing date. " + e.getMessage());
e.printStackTrace();
}
return 0;
}
お役に立てれば幸いです。