NSDateFormatter显示不正确的月份

时间:2018-07-05 07:13:36

标签: ios objective-c nsdateformatter

说明:

我使用NSDateFormatter格式化日期,但是在某些情况下,当月份更改甚至时间更改时,输出错误。

代码:

NSDate *date=[NSDate date];
NSString *datestring=@"2018-07-05 12:14:29";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
date = [formatter dateFromString:datestring];
NSLog(@"%@", [formatter stringFromDate:date]);

预期输出:

2018-07-05 12:14:29

得到的输出:

2018-01-05 12:14:29

1 个答案:

答案 0 :(得分:2)

DDday of year

ddday of month

所以请替换下面的行

[formatter setDateFormat:@"yyyy-MM-DD HH:mm:ss"];

以此

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