web-dev-qa-db-fra.com

Comment définir le format de date sur 24 heures dans Objective-c?

J'ai des problèmes pour afficher la date correcte dans mon application. Lorsque l'utilisateur définit le format 24 heures sur "ON" dans ses préférences de date/heure..mon application indique l'heure correcte, mais lorsque le format 24 heures est défini sur "OFF", rien ne s'affiche.

Voici le code que j'utilise:

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;
11
Manish Verma

Très simple essayez ceci:

Pendant 12 heures: (hh: mm: ss)

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

Pour 24 heures: (HH: mm: ss)

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

Essaye ça

[dateFormat setDateFormat:@"hh:mm:ss"];

HH: format 24 heures

hh : format 12 heures

Donc dans ton cas

//after conversion to date

if ON
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

if OFF
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
46
Lithu T.V

utilisez ceci:

Objectif c :  

dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];

Swift 4.1

dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")

après cela, votre date ne sera pas modifiée.

13
KDeogharkar

Définissez les paramètres régionaux de dateFormatter comme suit. Cela devrait régler votre problème.

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
[dateFormatter setLocale:locale];
5
Xcoder
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm"]; 
NSString *dateString = [dateFormat stringFromDate:[NSDate date]];
1
Kerstin