我需要將12小時時間格式轉換爲24小時格式。特別是日期的PM部分,因爲我與之通信的API只接受24小時格式。iOS日期12/24小時格式化(目標C)
實施例:
02:00 PM
需要被轉換到14:00
。
08:30 PM
需要轉換爲20:30
。
我試過幾種方法,可能已經很近了,但我似乎無法完全理解。
我需要將12小時時間格式轉換爲24小時格式。特別是日期的PM部分,因爲我與之通信的API只接受24小時格式。iOS日期12/24小時格式化(目標C)
實施例:
02:00 PM
需要被轉換到14:00
。
08:30 PM
需要轉換爲20:30
。
我試過幾種方法,可能已經很近了,但我似乎無法完全理解。
爲此,您需要使用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];
iPhone格式字符串在Unicode format。鏈接後面是一個表格,解釋上面所有字母的含義,以便您可以建立自己的。
你可以試試這個網站,找到你的格式字符串nsdateformatter.com絲毫NSDateFormatter
實例:值是「02:00 PM」。 NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@「hh:mm a」]; NSDate * date = [formatter dateFromString:value]; (@「12小時日期:%@」,日期); 當我登錄時,我得到空。 (對不起,代碼突出顯示)。 – Tatter
你的回答很有幫助。我仍然需要添加以下內容才能正常工作:NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@「en_US_POSIX」]; [formatter setLocale:locale]; – Tatter
@Tatter這是需要設置當地的時區,你沒有在這裏回覆,你沒有得到完美的時間。 –