【问题标题】:Format a duration for soccer (football)格式化足球(足球)的持续时间
【发布时间】:2013-12-03 04:59:07
【问题描述】:

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

我有一个android.text.format.Time 的时间,设置了小时、分钟和秒,这意味着我可以很容易地将它设置为自纪元以来的毫秒数。查看格式化选项(如Time.format(String)),分钟的格式说明符似乎总是在[0, 59) 范围内。没有编写我自己的格式化程序(不难,但我担心本地化),是否有一个格式调用可以在这里做我想要的?谢谢。

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

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

显然,1 和 2 可以通过具有良好 cmets 的智能本地化格式字符串来解决。 3让我害怕,但我可能只是偏执。

【问题讨论】:

  • 如果这些只是数字,您为什么还要担心本地化?
  • 保持小时和分钟为数字,您可以自己操作
  • @gian1200--已编辑为您的问题添加答案。

标签: java android datetime formatting


【解决方案1】:

我真的认为你会是最好的 a) 根本不使用任何 Time.format - 只是做简单的数学计算出分钟和秒,然后显示 mm:ss,或者 b) 如果您绝对需要,请使用本地化格式字符串。

您的前两个担心几乎在所有情况下都不是问题:使用冒号分隔分钟和秒在许多文化中都很常见,就像在秒前显示分钟一样。其实就是ISO标准:http://en.wikipedia.org/wiki/ISO_8601

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2012-08-07
    相关资源
    最近更新 更多