J'essaie de déterminer si l'utilisateur utilise 24 heures ou 12 heures, et il ne semble pas y avoir un bon moyen de comprendre cela à part la création d'un NSDateFormatter et la recherche de la chaîne de format pour le champ de la période (« a » caractère)Comment savoir si l'utilisateur utilise 24 heures de temps en utilisant Cocoa
Voici ce que je fais maintenant:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSRange range = [[formatter dateFormat] rangeOfString:@"a"];
BOOL is24HourFormat = range.location == NSNotFound && range.length == 0;
[formatter release];
ce qui fonctionne, mais se sent un peu fragile. Il doit y avoir un meilleur moyen, non?
Ceci est définitivement fragile. Vous pouvez également vérifier la chaîne dateFormat pour les lettres qu'elle utilise pour l'heure. "H" ou "k" signifie qu'il est dans le temps de 24 heures (0 ou 1 basé, respectivement), tandis que "h" ou "K" signifie son en 12 heures (1 ou 0 basé). – matthias