ios - 如何根据 i18n 将 NSTimeInterval 正确格式化为时间段?

标签 ios objective-c swift cocoa nstimeinterval

给定一个表示一段时间的 NSTimeInterval,我如何创建一个人类可读的字符串来以符合 i18N 的方式表达该时间段?

例如,如果 NSTimeInterval 等于 10823.23435 秒,那么在美国将其呈现为字符串的一些合理方法可能是:

  • 3:23
  • 3 小时 23 秒
  • 等等

(即,您会在秒表上看到的东西。)

大概其他语言环境可能使用不同的渲染。

我知道 NSDateFormatter 和 NSNumberFormatter,但我不清楚是否或如何使用其中之一来解决这个问题。

我也知道 FormatterKit,但它只处理相对时间段(例如,“3 分钟前”)。我正在寻找绝对时间段。

编写我自己的特定于语言环境的解决方案是微不足道的,但是这个问题是否已经得到妥善解决?

谢谢。

最佳答案

对于 iOS 8,有 NSDateComponentsFormatter 和 NSDateIntervalFormatter,它们可能适用于您的应用程序。

缺少文档请参阅 NSHipster:NSFormatter

基金会/NSDateIntervalFormatter.h

关于ios - 如何根据 i18n 将 NSTimeInterval 正确格式化为时间段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26234446/

相关文章:

ios - 如何将我的设备 token (NSData) 转换为 NSString?

objective-c - 如何更改自定义 NSTextfield 的绘制矩形内的文本颜色

iphone - 如何在标签栏上绘制符号?

ios - 用户拒绝健身数据时如何通知?

ios - 2 个完全相同的 iOS 应用程序,除了数据库不同

ios - 无法为 UISearchBar 的框架或边界设置动画

python - swift 和 Python : identical code results in different results

ios - 使用 xctool 运行单个 KIWI 规范

ios - 使用 Alamofire 发布数据时出现 SerializationFailure 错误

swift - Metal 着色语言中平移手势的纹理重复