我有以下代码:
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
[dateFormater setLocale:[NSLocale currentLocale]];
[dateFormater setTimeZone:[NSTimeZone systemTimeZone]];
NSDate *localDate = [dateFormater dateFromString:localUpdate];
NSDate *serverDate = [dateFormater dateFromString:serverUpdate];
localUpdate和serverUpdate的输入字符串为:
2014-01-31 23:42:17
2014-02-01 00:09:37
当将它们从NSString转换为NSDate时,第二个要晚2个月吗?
2014-01-31 22:42:17 +0000
2013-12-31 23:09:37 +0000
谁能解释一下?
最佳答案
检查这一行:
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
正确的日期格式为@“yyyy-MM-dd HH:mm:ss”,其中的“dd”不是“DD”
我曾经遇到过同样的问题...如果日期格式不正确,则当您使用dateFormatter时,它将在日期中减去或增加一个月。
关于ios - NSDate dateFromString 2个月错误吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21491967/