说明:
我使用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
答案 0 :(得分:2)
DD
是day of year
dd
是day of month
所以请替换下面的行
[formatter setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
以此
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];