NSDate Date默认显示的是格林尼治所在地的标准时间(GMT),转换为中国时区需要加上八个小时,针对与这个情况你可以直接在获取时间之后加上八个小时,也可以转换到当前时区,都很简单,代码参考如下:
NSDate *date=[NSDate date]; NSLog(@"格林尼治时间 %@",date); NSInteger interval = [[NSTimeZone systemTimeZone] secondsFromGMTForDate: date]; NSDate *localeDate = [date dateByAddingTimeInterval: interval]; NSLog(@"第一种时间转换---%@",localeDate); NSDate *secondDate=[date dateByAddingTimeInterval:(8*60*60)]; NSLog(@"第二种date时间--%@",secondDate);