减少一个约会

时间:2014-06-19 11:01:22

标签: ios date

我不知道为什么我会减少一个日期,当我从某个日期转换字符串时,我会减少一个日期,例如当我转换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

1 个答案:

答案 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);