4
self.dateFormatter = [[NSDateFormatter alloc] init];
[self.dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[self.dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[self.dateFormatter setDateFormat:@"yyyyMMdd"];

NSDate *date = [NSDate date];
NSString *dateString = [self.dateFormatter stringFromDate:date];

このコードは、201300090005 などの誤った日付を返すことがあります。理由がわかりません。

4

1 に答える 1

0

私はこのようなことを試しましたが、私にとっては常にうまくいきます:-

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"yyyyMMdd"];

NSDate *date = [NSDate date];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"yourDateString=%@",dateString);
于 2013-10-18T10:52:31.940 に答える