我在 NSDate 上编写了一个方法作为类别,它从日期返回一个字符串。格式为{四年数字}{两个月数字}{两天数字}。出于某种原因,格式化程序将当前年份作为四年数字返回,而不是返回日期的年份。这是我的代码:
- (NSString *) YYYYMMDD{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterNoStyle];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setDateFormat:@"YYYYMMdd"]; // This line is doing something odd, not sure why yet.
NSString *dateAsString = [formatter stringFromDate:self];
NSLog(@"Date: %@ String: %@", [self description], dateAsString);
return dateAsString;
}
查看记录的行,您会注意到年份是不灵活的并且坚持当前年份,即使应该由日期对象表示的年份不是当前年份。
知道这是为什么吗?我使用了不正确的格式化程序吗?