今天发现用NSDateFormatter的stringFromDate方法将服务器传过来的背景时间的NSDate转换成NSString会相差8小时,调查发现,可能是因为stringFromDate时,将date当做格林威治时间了,返回的String变成本地时区。所以差了8个小时。
我用的方式是:
NSDateFormatter* formate=[[NSDateFormatter alloc]init];
[formate setDateFormat:DATE_FORMAT_SPLIT];
[formate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[formate stringFromDate:date]
这样再转换时就不会出现时区问题了。
当然,好像方法不是唯一的。