11
votes

Comment définir le format de date à 24 heures dans Objective-C?

J'ai un problème d'affichage de la date appropriée dans mon application. Lorsque l'utilisateur définit le format de 24 heures "sur" dans ses préférences de la date de date ..MY App montre une heure correcte, mais lorsque le format 24 heures est défini sur "OFF", cela ne montre rien.

Voici le code que j'utilise: P >

NSDateFormatter *formatter       =   [[NSDateFormatter alloc] init];

[formatter setDateStyle:style];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
 NSDate *temp            =   [formatter dateFromString:strDate];

[formatter setDateFormat:format];
[formatter setLocale:[NSLocale currentLocale]];

NSString *returnStr     =   [formatter stringFromDate: temp];
[formatter release];
NSLog(@"Return: %@", returnStr);

return returnStr;


1 commentaires

Utilisez Yyyy Not Yyyy si vous voulez l'année civile. Yyyy ne correspond pas à Yyyy à la fin de décembre.


5 Réponses :


5
votes

Définissez la locale de la date de date suivante. Il devrait supprimer votre problème.

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
[dateFormatter setLocale:locale];


0 commentaires


46
votes

Essayez ceci xxx

HH : 24 heures

HH : 12 heures au format

donc dans votre cas xxx


1 commentaires

Devrait utiliser minuscule "yyyy"



31
votes

Très simple Essayez ceci:

pour 12 heures: strong> (HH: mm: SS) P>

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];


1 commentaires

De plus, si vous exécutez ce code dans iOS 7, vérifiez également le paramètre Système. GOTO Réglage -> Général -> Date et heure -> Éteignez le format 24HR