【发布时间】:2018-03-28 01:26:54
【问题描述】:
我的应用有一个 0 - 120 分钟的选择器。我想这样显示时间:“In ... minutes”。
我找到了DateUtils#getRelativeTimeSpanString(long, long, long) 方法,它适用于 60 分钟以下的值。但是,如果该值是 60 分钟或更高,则将其显示为“1 小时内”而不是“120 分钟内”。
这是我正在使用的代码:
int minutes = 70;
long millis = minutes * 60 * 1000;
String text = DateUtils.getRelativeTimeSpanString(millis, 0L, DateUtils.MINUTE_IN_MILLIS);
myTextView.setText(text); // Displays "In 1 hour" instead of "In 70 minutes".
如何强制输出以分钟为单位?
【问题讨论】:
-
你也可以尝试使用字符串资源,计算分钟来达到你想要的效果。
-
好吧,也许有一种方法可以用 java 做到这一点,但是为什么在你已经有几分钟的时候使用
getRelativeTimeSpanString呢? -
@GabrielCosta 我想尽可能使用默认的 Android 字符串,因为它们已经被翻译了。
-
@Ibrahim 如果可能,我想使用默认的 Android 字符串,因为它们已经被翻译了。
-
@Ibrahim 对不起,但我不明白这有什么关系。您展示的方法将毫秒转换为分钟。我需要一个字符串来显示,例如一个文本视图。您是否测试了我问题中的代码?请参阅文档:developer.android.com/reference/android/text/format/…
标签: java android date android-date android-dateutils