NSDateFormatter NSString转NSDate 出现 8小时偏差解决方法

来源:互联网 发布:win7查mac地址 编辑:程序博客网 时间:2024/04/29 21:35

转载自:http://zani.iteye.com/blog/1144903

NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间


平常做项目服务器返回的都是本地时间也就是中国时区的时间,而NSDate存储的是世界标准时(UTC),如果转化为NSDate就会出现八小时的偏差。

解决方法如下:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];  [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];    [dateFormatter  setDateFormat:@"yyyy-MM-dd HH:mm:ss"];       NSDate* dateFromString = [dateFormatter dateFromString:stringDate];      return dateFromString; 


无论环境是使用12小时制还是24小时制,yyyy-MM-dd HH:mm:ss返回都是24小时制

设置TimeZone为UTC ,这样使得转换时间不会出现8小时误差


0 0
原创粉丝点击