iOS 8小时的时间差

    //可以这样来改善
    NSDate *date = picker.date;
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate:date];
    NSDate *localDate = [date dateByAddingTimeInterval:interval];

但如果用NSDateFormatter格式化之后就不能再用上面的timeZone了,否则会造成时间向后8小时的情况出现

    NSDateFormatter *fomatter = [[NSDateFormatter alloc] init];
    if (self.pickMode == kDefaultPickerMode) {
        [fomatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    }else if (self.pickMode == UIDatePickerModeTime){
        [fomatter setDateFormat:@"HH:mm"];
    }else if (self.pickMode == UIDatePickerModeDateAndTime){
        [fomatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    }else if (self.pickMode == UIDatePickerModeCountDownTimer){
        [fomatter setDateFormat:@"HH:mm"];
    }
    NSString *fomatterLocalDate = [fomatter stringFromDate:date];


你可能感兴趣的:(iOS时间差)