2010-12-08 108 views

回答

2

當你說你已經將它轉換成日期,你是什麼意思?你的意思是你在NSDate的對象中有嗎?如果是這樣,日期是而不是在24小時日期格式。屏幕上顯示日期的方式不涉及自己。

格式化來自您的本地化設置。這應該如何。我不希望24小時內以12小時的格式出現超過你想要的時間。

但要直接回答問題,如果您想覆蓋默認值,您可能必須編寫自己的格式代碼。當我收到來自第三方數據源的日期時,我必須這樣做來解決NSDateFormatter中的錯誤。

3

考慮您有一個名爲一個小時的時間INT ...

如果(時間> 12) 的時間= 12;

3

您可以使用24小時制格式而不是12小時格式。因此,在格式字符串中使用帶H的NSDateFormatter。使用其中一種預定義的格式將最終使用您的系統本地化,這可能是12小時格式。

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; 
[inputFormatter setDateFormat:@"HH:mm"]; 

另一個解決方案是這裏提出使用正則表達式:
24hr to 12hr time convert, insert character to string

0

從12至24小時更改日期格式或從24至12簡單地改變爲hh:mm到HH:MM格式,其中h是12小時,H是24小時。 記得改變你的位置。

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    [df setDateFormat:@"HH:mm"]; 
相關問題