Вопрос по ios, nsdateformatter, nsdate – Как конвертировать 24-часовое строковое время в 12-часовое строковое форматирование

10

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

Я хочу преобразовать это время NSString в 12-часовую NSString (то есть 3: 15 PM).

Ваш Ответ

4   ответа
30

использование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];

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

подскажите как его настроить? python
Просто убедитесь, что для локали форматера задано значение en_US_POSIX перед запуском.
как +1 простой и сладкий ответ
Благодарю . Рабочий код для меня. NSDateFormatter * timeFormatter = [[NSDateFormatter alloc] init]; [timeFormatter setDateFormat: @ & quot; ЧЧ: мм & quot;]; timeFormatter.dateFormat = @ & quot; чч: мм а & quot ;; txtTime.text = [timeFormatter stringFromDate: myTimePickerView.date];
2

@python

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

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

0

Проверьте этот так вопрос:NSDateFormatter dateFromString и iPhone в 24-часовом формате путаницы

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

-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 
Почему вы создаете новую строку, когда назначаете ее метке?

Похожие вопросы