在足球(大多数地方,他们称之为足球)中,比赛时间显示为mm:ss,即使比赛时间超过59分钟,因此,如果在比赛开始1小时22分32秒时显示为82:32

我将时间设置为android.text.format.Time,设置了小时,分钟和秒,这意味着我可以轻松地将其设置为自纪元以来的毫秒数。浏览格式选项(例如Time.format(String)),分钟的格式说明符似乎总是在[0, 59)范围内。不用编写自己的格式化程序(不难,但是我担心本地化),是否有一个格式化调用可以满足我的要求?谢谢。

我对本地化的具体担心如下:


时间分隔符(“:”与“。”或其他东西-我不知道各种语言环境使用的分隔符)。
订购。我可以想象一些文化在上面的示例中显示32:82
我还没有想到的更可怕的事情。


显然,1和2可以通过具有良好注释的智能本地化格式字符串解决。 3吓到我了,但我可能只是偏执。

最佳答案

我真的认为你最好
a)完全不使用任何Time.format-只是做简单的数学运算就可以弄清楚分钟和秒,然后显示mm:ss,或者
b)如果绝对需要使用本地化的格式字符串。

几乎在所有情况下,前两种担心都不会成为问题:在许多文化中,使用冒号将分钟和秒分开是很常见的,就像显示秒之前的分钟一样。实际上,这是ISO标准:http://en.wikipedia.org/wiki/ISO_8601

如果您真的很担心并且想做一点调查,我会发现足球比赛的视频以不同的语言/位置播出。我刚刚在YouTube上找到了一个中文中文,它使用mm:ss来显示时间。

07-27 21:03