2016-10-02 179 views
-2

我需要將12小時時間格式轉換爲24小時格式。特別是日期的PM部分,因爲我與之通信的API只接受24小時格式。iOS日期12/24小時格式化(目標C)

實施例:

02:00 PM需要被轉換到14:00

08:30 PM需要轉換爲20:30

我試過幾種方法,可能已經很近了,但我似乎無法完全理解。

回答

0

爲此,您需要使用NSDateFormatter並將時間格式轉換爲24小時格式。

NSString *time12Hours = @"02:00 PM"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"hh:mm a"]; 
NSDate *date = [formatter dateFromString:time12Hours]; 
[formatter setDateFormat:@"HH:mm"]; 
NSString *time24Hours = [formatter stringFromDate:date]; 
+0

實例:值是「02:00 PM」。 NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@「hh:mm a」]; NSDate * date = [formatter dateFromString:value]; (@「12小時日期:%@」,日期); 當我登錄時,我得到空。 (對不起,代碼突出顯示)。 – Tatter

+0

你的回答很有幫助。我仍然需要添加以下內容才能正常工作:NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@「en_US_POSIX」]; [formatter setLocale:locale]; – Tatter

+0

@Tatter這是需要設置當地的時區,你沒有在這裏回覆,你沒有得到完美的時間。 –

0

iPhone格式字符串在Unicode format。鏈接後面是一個表格,解釋上面所有字母的含義,以便您可以建立自己的。

你可以試試這個網站,找到你的格式字符串nsdateformatter.com絲毫NSDateFormatter