使用 NSDateFormatter 更改日期格式

Change date format using NSDateFormatter

我想使用这样的日期格式 2015-08-14 但不幸的是我得到的是这种格式 16/11/15

下面是我用来获得所需输出的代码。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];

[dateFormatter setDateStyle:kCFDateFormatterShortStyle];

NSString *formattedDateString = [dateFormatter stringFromDate:selectedDate];

有人可以建议如何解决这个问题吗?

-(NSString*)stringFromDateWithFormat:(NSString*)formatString{

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
    dateFormatter.dateFormat = formatString;
    return [dateFormatter stringFromDate:self];
}

只需删除行 [dateFormatter setDateStyle:NSDateFormatterShortStyle];

NSDate *selectedDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSString *formattedDateString = [dateFormatter stringFromDate:selectedDate];

NSLog(@"formattedDateString = %@", formattedDateString); // Prints 2015-10-15
NSDate *currDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:currDate];
NSLog(@"date is %@",dateString);