2014-04-06 79 views
-1

我有NSDateFormatter用於顯示時間爲h:mm以顯示時間爲7:50 PM例如。NSDateFormatter基於iPhone的時間設置

它正常工作與時間的手機顯示爲5:55 PM等,但也有在不同的國家有時間顯示手機狀態欄上爲下午5點55分,並與設置NSDateTimeFormatterh:mm似乎回到(空)。

有沒有人遇到類似的情況?任何解決方法或處理這些情況的最佳方法?正在考慮檢查零,然後重試NSDateFormatterhh:mm但這聽起來很醜。想要確保我做對了。

您的快速響應非常感謝。

回答

0

我終於通過使用「en_US_POSIX」語言環境轉換每個日期和時間來完成這項工作。我知道,這不是我想要的,但它適用於不同的地區和時間格式。我仍然需要弄清楚如何純粹基於用戶的地區和時間格式來表達這些日期和時間。也許,再過一天。

0
[dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 

NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]); 

對於語言德語和區域格式德國,它記錄01:46,而英國和美國,它記錄1:46 AM。我檢查了一下:在中午之後,它會正確打印13:521:52 PM

+0

我看到了,你覺得[NSLocale currentLocale]會自動替換我的格式嗎?我不想硬編碼某種格式(我已經燒燬了橋;-)如果你知道我的意思。 –

+0

我不這麼認爲 - 我知道。 – vikingosegundo

+0

這也很難測試。你知道如何將時間設置爲hh:mm(例如05:55 PM)在我們的狀態欄上,以便我可以測試並嘗試重現問題嗎? –