Как конвертировать 24-часовое время строки в 12-часовой формат String

У меня есть время в NSString как "15:15"

Я хочу скрыть это время NSString до 12 часов NSString (например, "3:15 PM" ).

Ответ 1

Используйте 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];

Код может содержать некоторые ошибки, написанные без компиляции или тестирования.

Ответ 2

@python

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
[dateFormatter setDateFormat:@"hh:mm"];

Надеюсь, это поможет!

Ответ 3

Отметьте этот SO-вопрос: NSDateFormatter dateFromString и iPhone в 24-часовом формате Confusion

Вы можете использовать NSDateFormatter, чтобы отформатировать стиль времени, который вы хотите, затем прочитайте в строке форматировщик и вытащите его в нужном формате.

Ответ 4

// 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