3

我正在使用此代码在我的应用程序中获取相对时间:

DateUtils.getRelativeTimeSpanString(
        mReferenceTime,
        now,
        DateUtils.MINUTE_IN_MILLIS,
        DateUtils.FORMAT_ABBREV_RELATIVE
);

它正在正确返回所有内容,但我想缩短月份。例如,代替“December 21”,它应该返回“Dec 21”。我怎样才能做到这一点?

4

1 回答 1

5

检查标志DateUtils.FORMAT_ABBREV_MONTH。来自 Android源代码(第 781-782 行)

“如果FORMAT_ABBREV_MONTH已设置,则月份(如果显示)缩写为 3 个字母的字符串。”

看三参数版本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将解决您的问题。

于 2014-12-27T02:28:36.563 回答