mam czas w NSString jak "15:15"Jak przekonwertować 24 hr czas String w formacie 12 godzinnym czas String
Chcę przekształca ten czas NSString do 12 godzin NSString (czyli "3:15 PM").
mam czas w NSString jak "15:15"Jak przekonwertować 24 hr czas String w formacie 12 godzinnym czas String
Chcę przekształca ten czas NSString do 12 godzin NSString (czyli "3:15 PM").
Użyj NSDateFormatter
, aby przekształcić ciąg znaków w NSDate
. Następnie ponownie użyj dateformatter, aby zmienić ciąg znaków na 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];
Kod może zawierać błędy, napisane bez kompilacji ani testowania.
Sprawdź ten SO pytanie: NSDateFormatter dateFromString and iPhone in 24 Hour Format Confusion
Powinieneś być w stanie wykorzystać w użyciu NSDateFormatter
sformatować styl czasie chcesz, a następnie odczytać w ciągu do formatyzatora i wyciągnij go z powrotem w wybranym formacie .
// 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
Dlaczego tworzysz nowy ciąg po przypisaniu go do etykiety? – rckoenes
@python
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
[dateFormatter setDateFormat:@"hh:mm"];
Nadzieja to pomaga!
Pamiętaj, aby przed uruchomieniem ustawić ustawienia narodowe formatyzatora na en_US_POSIX. –
czy możesz mi powiedzieć, jak to ustawić? – python
Dzięki. Działający kod dla mnie. NSDateFormatter * timeFormatter = init [[NSDateFormatter alloc]]; [timeFormatter setDateFormat: @ "HH: mm"]; timeFormatter.dateFormat = @ "hh: mm a"; txtTime.text = [timeFormatter stringFromDate: myTimePickerView.date]; –