2014-10-07 69 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