You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用getRelativeTimeSpanString时FORMAT_SHOW_TIME为何不显示时间?

问题原因及解决方法
  • 核心问题:仅传入FORMAT_SHOW_TIME标志不足以让getRelativeTimeSpanString在“Yesterday”这类跨天的相对时间后显示具体时间。该标志默认仅在时间属于当前日历日时才会展示时间部分,对于跨天的日期,需要额外配合其他标志来触发时间显示。

  • 解决办法:同时传入FORMAT_SHOW_DATE | FORMAT_SHOW_TIME标志组合,这样就能让方法返回类似“Yesterday, 11:00 AM”的结果。

修改后的代码示例:

android.text.format.DateUtils.getRelativeTimeSpanString(
    currentTimeInMilliseconds() - 1_000 * 60 * 60 * 25,
    System.currentTimeMillis(),
    MINUTE_IN_MILLIS,
    DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME
)
  • 补充说明:这个标志组合会自动适配场景——对“今天”的时间仅显示时分,对“昨天”及更早的日期则显示相对日期文本+具体时间,正好匹配你的预期需求。

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 18:12:03