NSDateFormatter avec le fuseau horaire par défaut donne autre date que NSDate méthode de description

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timestamp];
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
[_dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
[_dateFormatter setDateFormat:@"dd-MM-yy HH:mm"];
NSString *dateString = [_dateFormatter stringFromDate:date];
NSLog(@"Date: %@ formatted: %@", date, dateString);
[_dateFormatter release];

Me donne mal au format date:

Date: 2013-01-31 18:00:00 +0000 mis en forme: 31-01-13 19:00 (à partir de timestamp: 1359655200.000000)

En ligne de l'outil de conversion: http://www.onlineconversion.com/unix_time.htm indique que la 1ère date est correcte: 2013-01-31 18:00:00 +0000.

Pourquoi NSDateFormatter produit date de NSLog? Ne devrait pas [NSDate description] utilisation defaultTimeZone lors de l'impression à la console? Je reçois la même erreur avec [_dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; et [_dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];

OriginalL'auteur Lukasz | 2013-05-23