import org.joda.time.Duration; //导入方法依赖的package包/类
public static Tuple getFormattedDate(long timeEdited, Context context) {
DateTime dateEdited = new DateTime(timeEdited);
DateTime dateNow = new DateTime();
Duration interval = new Duration(dateEdited, dateNow);
String appendix;
long millisUntilNextUpdate;
long timeElapsedInMillis = interval.getMillis();
if (timeElapsedInMillis < TEN_SECONDS) {
appendix = context.getString(R.string.just_now);
millisUntilNextUpdate = TEN_SECONDS - timeElapsedInMillis;
} else if (timeElapsedInMillis < ONE_MINUTE) {
appendix = context.getString(R.string.less_than_a_minute_ago);
millisUntilNextUpdate = ONE_MINUTE - timeElapsedInMillis;
} else if (timeElapsedInMillis < TWO_MINUTES) {
appendix = context.getString(R.string.one_minute_ago);
millisUntilNextUpdate = TWO_MINUTES - timeElapsedInMillis;
} else if (timeElapsedInMillis < ONE_HOUR) {
appendix = interval.getStandardMinutes() + context.getString(R.string.minutes_ago);
millisUntilNextUpdate = timeElapsedInMillis % ONE_MINUTE;
} else {
if (isOlderThanYesterday(dateEdited, dateNow)) {
appendix = dateEdited.toString(DateTimeFormat.forPattern(FULL_DATE_FORMAT));
millisUntilNextUpdate = UPDATE_NOT_REQUIRED;
} else {
String time = dateEdited.toString(DateTimeFormat.forPattern(HOUR_FORMAT));
millisUntilNextUpdate = new Duration(dateEdited, dateEdited.withTimeAtStartOfDay()
.plusDays(ONE_DAY)).getMillis();
if (isToday(dateEdited, dateNow)) {
appendix = context.getString(R.string.today_at) + time;
} else {
appendix = context.getString(R.string.yesterday_at) + time;
}
}
}
return new Tuple<>(context.getString(R.string.last_edited) + appendix,
(int) millisUntilNextUpdate);
}