2012-06-21 19 views

Odpowiedz

29

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.

+3

Pamiętaj, aby przed uruchomieniem ustawić ustawienia narodowe formatyzatora na en_US_POSIX. –

+0

czy możesz mi powiedzieć, jak to ustawić? – python

+0

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]; –

-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 
+0

Dlaczego tworzysz nowy ciąg po przypisaniu go do etykiety? – rckoenes

2

@python

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

Nadzieja to pomaga!