【发布时间】:2016-10-02 09:37:59
【问题描述】:
我需要将 12 小时制时间格式转换为 24 小时制格式。特别是日期的 PM 部分,因为我与之通信的 API 只接受 24 小时格式。
例子:
02:00 PM需要转换成14:00。
08:30 PM需要转换成20:30。
我已经尝试了几种方法并且可能已经接近了,但我似乎无法完全正确。
【问题讨论】:
标签: ios objective-c nsdate nsdateformatter
我需要将 12 小时制时间格式转换为 24 小时制格式。特别是日期的 PM 部分,因为我与之通信的 API 只接受 24 小时格式。
例子:
02:00 PM需要转换成14:00。
08:30 PM需要转换成20:30。
我已经尝试了几种方法并且可能已经接近了,但我似乎无法完全正确。
【问题讨论】:
标签: ios objective-c nsdate nsdateformatter
为此,您需要使用 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 whit NSDateFormatter
【讨论】: