Comment faire pour obtenir l'heure en format am/pm iphone NSDateFormatter?
Travaille dans une application iPhone avec l'aide de la NSDateFormatter. Je suis de mieux en le temps de le webservice comme "00:00:00", "16:00:00","15:30:00" and so on
. J'ai besoin de convertir ces temps de
si le temps est "00:00:00" to "12 AM"
, si le temps est "16:00:00" to "4 PM"
, si le temps est "15:30:00" à "3.30 PM". J'ai utilisé le code ci-dessous à cela, mais quand j'ai passer "16:00:00" the date returns null
.
NSString *dats1 = @"16:00:00";
NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter3 setDateFormat:@"hh:mm:ss"];
NSDate *date1 = [dateFormatter3 dateFromString:dats1];
NSLog(@"date1 : %@", date1); **//Here returning (null)**
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **//Here also returning (null)**
[formatter release];
Quand suis de passage "00:00:00" il est de retour "12 h" correctement. Quelqu'un peut-il svp m'aider à résoudre ce problème? Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Si votre format de l'heure est en
24hrs
veuillez utiliser"HH:mm:ss"
format. Veuillez tester le code et laissez-moi savoir si cela fonctionne pour vous. Je l'ai testé et il est de retour"4 PM"
Grâce.
Vous pouvez utiliser le
.ShortStyle
qui va s'adapter à la localisation en cours:Qui renvoie
17:12
ou5:12 PM
selon le dispositif de courant locale.Pourquoi êtes-vous encore de l'allocation de la
NSDateFormatter
?vous avez Juste besoin de la formater en
NSDate
et puis de nouveau àNSString
,dateFormatter setDateFormat:@"HH:mm:ss"];
n'est pas nécessaire.Essayer
HH:mm:ss
(notez les majuscules dans le format de l'heure)Espère que quelqu'un serait utile qui voudrais le mettre en Swift
Pour Swift
Ce code ci-Dessous gardez toujours à l'12hour format:
Ce toujours garder en format 24 heures
votre format de la date doit être:
vérifier la Format De Date Motif Doku