如何获得三个月的相对时间字符串?

时间:2014-12-27 00:28:49

标签: android android-dateutils

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

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

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

1 个答案:

答案 0 :(得分:2)

查看标志DateUtils.FORMAT_ABBREV_MONTH。来自Android source code (lines 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可以解决您的问题。