【发布时间】:2014-10-07 10:58:50
【问题描述】:
给定一个代表一段时间的 NSTimeInterval,我如何创建一个人类可读的字符串,以尊重 i18N 的方式表达该时间段?
例如,如果 NSTimeInterval 等于 10823.23435 秒,那么在美国将其呈现为字符串的一些合理方法可能是:
- 3:23
- 3 小时 23 秒
- 等
(即,你会在秒表上看到的东西。)
据推测,其他语言环境可能会使用不同的渲染。
我知道 NSDateFormatter 和 NSNumberFormatter,但我不清楚是否或如何使用其中之一来解决这个问题。
我也知道 FormatterKit,但这只适用于相对时间段(例如,“3 分钟前”)。我正在寻找绝对时间段。
编写我自己的特定于语言环境的解决方案是微不足道的,但是这个问题已经得到妥善解决了吗?
谢谢。
【问题讨论】:
-
谢谢@David,但该解决方案使用的格式假定时间段的特定格式,而不是为用户的语言环境生成字符串。如果没有其他合适的,我可能会依靠它......
-
@Zaph:我没有看到这些课程。链接?
-
@Chris 尚未记录。我们可以在NSFormatter reference“继承”部分看到他们的名字。截至目前,只需在编辑器中输入并“跳转到定义”
标签: ios objective-c swift cocoa nstimeinterval