NSDateFormatter - 添加一年?

时间:2014-12-30 06:28:35

标签: ios objective-c xcode nsdateformatter

我有以下代码,只是获取当前日期并将其转换为格式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);

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

2014-12-30 00:20:38.987 MYAPPNAME[953:229825] TIME IS 2015-12-30 00:20:38 CST

有人可以告诉我为什么输出显示为2015年,而不是2014年应该是什么?

3 个答案:

答案 0 :(得分:4)

yyyy指定日历年,而YYYY指定年份(“年度周”)

您必须从

更改dateformatter样式
[dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm:ss zzz"];

[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss zzz"];

供您参考,请查看此apple documentation

答案 1 :(得分:1)

更改日期格式

答案 2 :(得分:0)

试试这个:

        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);

有关NSDateFormatter的更多详细信息,请阅读:

http://realmacsoftware.com/blog/working-with-date-and-time