次のiOS 4.2コードが2つの異なる時刻に返されるのはなぜですか?NSDateFormatterが予期しない結果を返す
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:gmt];
NSString* dateString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"Date/Time is %@", dateString);
NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];
[inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate* date = [inputFormatter dateFromString:dateString];
NSLog(@"Date/Time is %@", date);
戻り値:
2011-01-04 16:15:12.966 WA[687:207] Date/Time is 2011-01-04 21:15:12
2011-01-04 16:15:12.967 WA[687:207] Date/Time is 2011-01-05 02:15:12 +0000
最初の値が期待されているが、私は、第二は同じであると期待されます。ブルース・
フォーマッタはタイムゾーンが設定された場合、時間帯を表示する必要性を見ていないように見えます。 – Joe