【问题标题】:How to show future date using DateUtils如何使用 DateUtils 显示未来日期
【发布时间】:2020-07-23 13:30:33
【问题描述】:

我正在创建应用程序。这是一个新闻列表,我需要在每条新闻上显示日期,例如9 小时前或 1 个月前等等。我还有未来的新闻,所以我还需要展示例如1个月后。所以我为此目的使用DateUtils.getRelativeTimeSpanString()。但我只能显示过去的日期,例如9 小时前或 1 个月前,我无法显示未来的日期。它显示了未来的日期,例如 2020 年 6 月 26 日。那么有没有办法显示它,例如2 个月后使用DateUtils?

DateUtils.getRelativeTimeSpanString(
            millis,
            System.currentTimeMillis(),
            DateUtils.MINUTE_IN_MILLIS).toString();

【问题讨论】:

  • 这很酷,但接受答案中的“n 天内”是什么意思?
  • 不,我只是无法理解接受的答案中的“在 n 天内”是什么意思
  • 根据链接文档(在接受的答案中)Time spans in the future are formatted like "In 42 minutes"。如果你想要几天,你可以使用DateUtils.getRelativeTimeSpanString(time, now, DateUtils.DAY_IN_MLLIS)

标签: java android date android-dateutils apache-commons-dateutils


【解决方案1】:

你可以用同样的方式,但未来的时间跨度格式为“42 分钟内”

DateUtils.getRelativeTimeSpanString(
            futureTimeInMillis,
            System.currentTimeMillis(),
            DateUtils.MINUTE_IN_MILLIS).toString();

您可以通过 0、MINUTE_IN_MILLIS、HOUR_IN_MILLIS、DAY_IN_MILLIS、WEEK_IN_MILLIS 之一 在最后一个参数中。 最后一个参数是最小分辨率均值 你想要的格式。

MINUTE_IN_MILLIS - In 42 minutes

HOUR_IN_MILLIS - In 2 hours

DAY_IN_MILLIS - In 2 days

【讨论】:

  • 其实我会接受你的回答。我使用了 DateUtils.FORMAT_SHOW_WEEKDAY。如果我选择 DateUtils.MINUTE_IN_MILLIS,我可以看到我过去的日期,比如 2 天前或 9 小时前吗?
猜你喜欢
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多