2014-10-07 50 views
4

给定一个表示一段时间的NSTimeInterval,如何创建一个可读的字符串来表示那个时间段,并尊重i18N?如何正确格式化NSTimeInterval作为时间段,尊重i18n?

例如,如果NSTimeInterval等于10823.23435秒,然后渲染为那些在美国的字符串可能是一些合理的方法:

  • 3:23
  • 3个小时,23秒

(即东西你想上一个秒表看。)

预很可能其他语言环境可能会使用不同的渲染。

我知道NSDateFormatter和NSNumberFormatter的,但它不是我清楚,如果或如何使用下列内容之一这个问题。

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

这是小事煮了我自己的区域设置特定的解决方案,但这个问题已经妥善解决了吗?

谢谢。

+0

的http://stackoverflow.com/questions/8128083/nstimeinterval-formatting – David 2014-10-07 11:26:08

+0

谢谢,@大卫,但潜在dublicate解决方案使用格式化,假定特定的时间段格式,而不是为用户的语言环境生成字符串。如果没有别的适合我可能会回落... – Chris 2014-10-07 13:23:38

+0

@Zaph:我没有看到这些类。链接? – Chris 2014-10-07 13:28:00

回答

6

对于iOS 8有NSDateComponentsFormatter & NSDateIntervalFormatter,他们可能会为你的应用程序。

文档缺少见NSHipster:NSFormatter

基金会/ NSDateIntervalFormatter.h

+0

谢谢@Zaph,那正是我想要的! – Chris 2014-10-08 11:44:43