2010-09-15 4 views
1

[date NSDate] dans iOS 4.0 utilisé pour revenir date dans le format suivant: 2010-09-15 09:28:26 +0530Format NSDate dans iOS 4.1

mais maintenant dans iOS 4.1, il renvoie la date à le format: 2010-09-15 09:28:26 GMT

Dans mon application, il y a beaucoup de problèmes.

Est-ce que quelqu'un sait comment résoudre ce problème?

Merci à l'avance, YPK

+0

Afficher l'exemple de code que vous utilisez pour "obtenir la date" ... et (plus probablement le problème) ... afficher le code que vous utilisez pour "afficher la date". – Patricia

Répondre

3

Merci pour vos réponses. J'ai cherché sur le problème et quelque part j'ai trouvé que NSDate a un bug dans iOS 4.1. Donc, je l'ai résolu le problème en utilisant la méthode suivante

- (NSString *)formattedStringUsingFormat:(NSString *)dateFormat 
{ 
    NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:dateFormat]; 
    [formatter setCalendar:cal]; 
    [formatter setLocale:[NSLocale currentLocale]]; 
    NSString *ret = [formatter stringFromDate:[NSDate date]]; 
    [formatter release]; 
    [cal release]; 
    return ret; 
} 

et je suis passé le format que

[self formattedStringUsingFormat:@"yyyy-MM-dd HH:mm:ss ZZ"]; 
1

Dans iOS2.x et 3.x la fonction Description NSDate/datefromstring retourne: 2010-09-24 17:30:00 - 0700

dans iOS 4.1, il retourne ceci: 2010-09-25 00:30:00 GMT

Vous pouvez soumettre un bug à apple.

Questions connexes