我的这种情况是,服务器时间并非GMT标准时间,而是PST时间!把PST转换味本地时间需要先转换成GMT时间,再由GMT转换为本地时间!
代码如下:
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"yyyy-MM-dd HH:mm:SS"];
NSString *fromTimeZone = [[NSString alloc] initWithString:@"America/Los_Angeles"]; //服务器时区
NSString *date_fromTimeZone = [NSString stringWithUTF8String:time]; //time是服务器返回的时间字符串
[dateFormatter2 setTimeZone:[NSTimeZone timeZoneWithName:fromTimeZone]];
NSDate *dateOfGMT = [dateFormatter2 dateFromString:date_fromTimeZone]; //转换为GMT时间
NSTimeZone* totimeZone = [NSTimeZone localTimeZone]; //获得本地时区
[dateFormatter2 setTimeZone:totimeZone]; //
NSString *dateStrDst = [dateFormatter2 stringFromDate:dateOfGMT]; //由GMT时间转换为本地时间