我有时间在NSString中,如“15:15”
我想将此NSString时间转换为12小时NSString(即“下午3:15”)。
答案 0 :(得分:31)
使用NSDateFormatter
转换NSDate
中的字符串。然后再次使用dateformatter将NSDate
更改为字符串。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm";
NSDate *date = [dateFormatter dateFromString:@"15:15"];
dateFormatter.dateFormat = @"hh:mm a";
NSString *pmamDateString = [dateFormatter stringFromDate:date];
代码可能包含一些错误,无需编译或测试即可编写。
答案 1 :(得分:2)
@python
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
[dateFormatter setDateFormat:@"hh:mm"];
希望这有帮助!
答案 2 :(得分:0)
查看此SO问题:NSDateFormatter dateFromString and iPhone in 24 Hour Format Confusion
您应该可以使用NSDateFormatter
格式化所需的时间样式,然后将字符串读入格式化程序并以所需的格式将其拉回。
答案 3 :(得分:-1)
// Get your 24 hr time String format
NSString *timeString = [NSString stringWithFormat:@"%@",[[[arr valueForKey:@"data"] valueForKey:@"pickup_time"] objectAtIndex:indexPath.row]];
//Store your 24 hr time String format into string
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate *time = [dateFormatter dateFromString:timeString];
// Convert time object into desired format
[dateFormatter setDateFormat:@"hh:mm.a"];
cell.lbl_BookingTm.text = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:time]]; //Get your string into 12 hr time String format