//可以这样来改善
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];