Как я могу получить относительную строку времени с трехбуквенным месяцем?
Я использую этот код, чтобы получить относительное время в моем приложении:
DateUtils.getRelativeTimeSpanString(
mReferenceTime,
now,
DateUtils.MINUTE_IN_MILLIS,
DateUtils.FORMAT_ABBREV_RELATIVE
);
Он возвращает все правильно, но я хочу сократить месяц. Например, вместо "21 декабря" вместо этого следует вернуть "21 декабря". Как мне этого добиться?
1 ответ
Решение
Проверьте флаг DateUtils.FORMAT_ABBREV_MONTH
, Из исходного кода Android (строки 781-782):
"Если FORMAT_ABBREV_MONTH
устанавливается, тогда месяц (если показан) сокращается до трехбуквенной строки."
Посмотрите на трехпараметрическую версию getRelativeTimeSpanString
:
public static CharSequence getRelativeTimeSpanString(long time, long now, long minResolution) {
int flags = FORMAT_SHOW_DATE | FORMAT_SHOW_YEAR | FORMAT_ABBREV_MONTH;
return getRelativeTimeSpanString(time, now, minResolution, flags);
}
Отсюда видно, что, проходя в DateUtils.FORMAT_ABBREV_RELATIVE | DateUtils.FORMAT_ABBREV_MONTH
в качестве четвертого параметра getRelativeTimeSpanString
решит вашу проблему