S'il vous plaît me dire comment convertir le temps de format 12 h ..
J'ai une chaîne que je l'ai converti à ce jour, mais il est au format 24 heures ....convertir le temps au format 12 heures
Répondre
Lorsque vous dites que vous l'avez converti en une date, que voulez-vous dire? Voulez-vous dire que vous l'avez dans un objet NSDate
? Si c'est le cas, la date est et non dans le format 24 heures. NSDate
ne se préoccupe pas de la façon dont la date apparaîtra à l'écran.
La mise en forme provient de vos paramètres de localisation. C'est comme ça que ça devrait être. Je ne veux pas de temps au format 12h plus que ce que vous voulez en 24 heures. Mais pour répondre directement à la question, vous devrez peut-être écrire votre propre code de mise en forme si vous souhaitez remplacer les valeurs par défaut. J'ai dû faire ceci pour contourner les bogues dans NSDateFormatter
quand j'ai reçu des dates d'une source de données de tiers.
étant donné que vous avez une heure int nommé temps ...
si (temps> 12) temps = temps 12;
Vous pouvez utiliser le format d'horloge 24 heures au lieu du format 12 heures. Utilisez donc un NSDateFormatter avec H dans la chaîne de format. L'utilisation de l'un des formats prédéfinis finira par utiliser la localisation de votre système qui est probablement le format 12 heures.
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"HH:mm"];
Une autre solution est présentée ici en utilisant regex:
24hr to 12hr time convert, insert character to string
Pour changer le format de date de 12 à 24 heures ou de 24 à 12 changer simplement hh: mm HH: mm où h est pour 12 heures et H est pour 24 heures. N'oubliez pas de changer votre emplacement.
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm"];