您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页UIDatePicker 选取日期 差8个小时+0000

UIDatePicker 选取日期 差8个小时+0000

来源:二三娱乐
获取日期后,发现与实际时间相差8个小时,除了正常的时区问题之外,还有可能是因为你DatePicker的使用方式不当.

通常的时区间隔8小时解决办法:
NSTimeZone *timeZone=[NSTimeZone systemTimeZone];
NSInteger seconds=[timeZone secondsFromGMTForDate:date];
NSDate *newDate=[date dateByAddingTimeInterval:seconds];
NSString *newTimeStr=[formatter stringFromDate:newDate];

但是如果你是由于取出来DatePicker造成这个现象,是因为你获取的dateString后面多了+0000 既英国时区:
输出+0000的原因是
_resultString=[NSString stringWithFormat:@"%@",_datePicker.date];

此时的解决办法是:
//去掉 +0000
NSDate *select = [_datePicker date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
_resultString=[dateFormatter stringFromDate:select];
//计算时差
NSTimeZone *timeZone=[NSTimeZone systemTimeZone];
NSInteger seconds=[timeZone secondsFromGMTForDate:date];
NSDate *newDate=[date dateByAddingTimeInterval:seconds];
NSString *newTimeStr=[formatter stringFromDate:newDate];
就可以完美解决这个问题了.

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务