J'ai un problème. Je reçois des chaînes de temps entrantes au format 12 heures, et je les transforme en objets NSDate. Lorsque l'iPhone est au format 12 heures, pas de problème. Mais quand c'est au format 24 heures, les choses vont mal. Voici quelques exemples de code pour démontrer:NSDateFormatter dateFromString et iPhone au format 24 heures Confusion
NSString *theTime = @"3:19 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"]; // "3:19 PM"
NSDate *date = [formatter dateFromString:theTime];
NSString *theString = [formatter stringFromDate:date];
Dans le mode 24 heures, Date est 1970-01-01 03:19:00 et theString est "03:19" - MAL
en mode 12 heures, la date est 1970-01-01 15:19:00 et theString est "15:19" - DROIT
Alors ... question 1: Pourquoi est de 24 heures de l'appareil réglage en remplaçant mon paramètre de formatage de date?
et plus important encore, question 2: Comment obtenir une conversion correcte de 12 heures à 24 heures? J'ai déjà un code pour détecter si le téléphone est en mode 24 heures, mais à part creuser dans la chaîne et échanger le 3 avec un 15, il ne semble pas y avoir de moyen propre de le faire.
Cette réponse est venue longtemps après que j'avais choisi un autre itinéraire, mais cela semble raisonnable et quelqu'un d'autre l'a vérifié, donc je vais le marquer comme étant répondu. – Silromen
Comment cela a-t-il fonctionné pour vous? Je n'ai pas eu le réglage de 12 heures. – Hisenberg
Merci beaucoup! Cela fonctionne maintenant .... – harshit2811