如何将24小时字符串时间转换为12小时时间字符串格式

时间:2012-06-21 14:05:52

标签: ios nsdate nsdateformatter

我有时间在NSString中,如“15:15”

我想将此NSString时间转换为12小时NSString(即“下午3:15”)。

4 个答案:

答案 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