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];
間違った日付のフォーマットが表示されます:
日付: 2013-01-31 18:00:00 +0000 形式: 31-01-13 19:00 (タイムスタンプから: 1359655200.000000)
オンライン変換ツール: http://www.onlineconversion.com/unix_time.htmは、最初の日付が正しいことを示しています: 2013-01-31 18:00:00 +0000.
NSDateFormatter が NSLog と異なる日付を生成するのはなぜですか? [NSDate description]
コンソールに出力するときに defaultTimeZone を使用すべきではありませんか? [_dateFormatter setTimeZone:[NSTimeZone localTimeZone]]
;で同じエラーが発生します。そして[_dateFormatter setTimeZone:[NSTimeZone systemTimeZone]]
;