double seconds = -62167464057.000;
NSDate *oldDate = [NSDate dateWithTimeIntervalSince1970:seconds];
MELog("oldDate = %@", oldDate);//oldDate = 0002-12-29 03:59:03 +0000
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *formattedDateString = [dateFormatter stringFromDate:oldDate];
NSLog(@"formattedDateString = %@", formattedDateString);//formattedDateString = 3:57 AM
上記のコードでは、日付コンポーネントの時刻は 3:59 ですが、時刻フィールドを抽出するようにフォーマットすると、3:57 になります。
私のタイムゾーンはロンドンなので、3:59 が返されます。
これは、1970 年より前の日付をフォーマットしようとしているためですか? わかる方確認お願いします。