IOS date to string给了我错误的日期

IOS date to string给了我错误的日期,ios,datetime,time,Ios,Datetime,Time,我正在使用一个时间戳,该时间戳显示来自我的服务器的以下内容:2015-07-23T17:08:00Z。然而,我尝试了多种方法提取月份,它一直返回“一月”。当我将日期戳转换为字符串时,我得到以下结果:2015-01-23 17:08:00+0000。有人知道为什么我的月份总是变回一月吗?一年一天,时间都很好。。。感谢您的帮助。此代码适用于我: NSString *dateAsString = @"2015-07-23T17:08:00Z"; NSDateFormatter *dateFormatt

我正在使用一个时间戳,该时间戳显示来自我的服务器的以下内容:2015-07-23T17:08:00Z。然而,我尝试了多种方法提取月份,它一直返回“一月”。当我将日期戳转换为字符串时,我得到以下结果:2015-01-23 17:08:00+0000。有人知道为什么我的月份总是变回一月吗?一年一天,时间都很好。。。感谢您的帮助。

此代码适用于我:

NSString *dateAsString = @"2015-07-23T17:08:00Z";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ";
NSDate *date = [dateFormatter dateFromString:dateAsString];
NSLog(@"%@", date);

我猜你的
NSDateFormatter

中的月份符号是错误的,显示你的代码,包括你正在使用的日期格式。日期格式中的“Z”是邪恶的,它会忽略时区,然后使用本地时区作为日期,应该使用“yyyy-MM-dd'T'HH:MM:ssZ”而不使用引号。我很感激。