我不知道为什么我会减少一个日期,当我从某个日期转换字符串时,我会减少一个日期,例如当我转换2014年6月18日,我得到2014-06-17,任何想法为什么这个问题,我的代码是:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [dateFormatter dateFromString:@"18/06/2014"];
这就是我完全从日志中获取的内容:2014-06-17 20:00:00 +0000
答案 0 :(得分:1)
您必须考虑时区。您当前的时区似乎领先于GMT。如果您打印整个日期并说出时间戳,那么您将得到不同之处。所以我建议你把时区添加到NSDateFormatter
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
NSDate *date = [dateFormatter dateFromString:@"18/06/2014"];
NSLog(@"Date : %@", date);