NSDateFormatter - 添加一年?

Ada*_*Fan 3 xcode objective-c nsdateformatter ios

我有以下代码,它只是获取当前日期并将其转换为格式 YYYY-MM-dd HH:mm:ss zzz

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm:ss zzz"];
        NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];
        [dateFormatter setTimeZone:currentTimeZone];

        NSString *time = [dateFormatter stringFromDate:[NSDate date]];

        NSLog(@"TIME IS %@", time);
Run Code Online (Sandbox Code Playgroud)

有了这个,我得到以下日志输出:

2014-12-30 00:20:38.987 MYAPPNAME[953:229825] TIME IS 2015-12-30 00:20:38 CST
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么输出显示为 2015 年,而不是 2014 年吗?

art*_*mal 5

yyyy指定日历年,而YYYY指定年份(“一年中的一周”)

你必须改变你的dateformatter风格

[dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm:ss zzz"];
Run Code Online (Sandbox Code Playgroud)

[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss zzz"];
Run Code Online (Sandbox Code Playgroud)

供您参考,请查看此苹果文档