A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

尝试转换北京时间,设置NSTimeZone即可,3种方法可达到目的,各有优缺点,如果实际应用,估计需要检测做条件判断,或者用户选择
  1.        //设置时间显示的格式
  2.         NSString *dateStr=@"yyyy年MM月dd日 HH:mm:ss";
  3.         //创建NSDate时间对象
  4.         NSDate *date=[NSDate new];
  5.         //创建时间格式对象
  6.         NSDateFormatter *dateFormatter=[NSDateFormatter new];
  7.         //将时间设置为上述的字符串样式
  8.         [dateFormatter setDateFormat:dateStr];
  9.         //转换时区,只需设置timeZone即可
  10. <font color="#0000ff">        (1)方法1:设置NSTimeZone为当地时间,由于当地时间为GMT+8北京时区,显示正确
  11.         NSTimeZone *timeZone=[NSTimeZone localTimeZone];
  12.         (2)方法2:设置NSTimeZone为系统时间,根据电脑系统所在时区而变
  13.         NSTimeZone *timeZone=[NSTimeZone systemTimeZone];
  14.         (3)方法3:设置NSTimeZone为GMT+8时区,与标准时间相差8小时,设置为8(小时)*3600(秒),0为格林尼治时间
  15.         NSTimeZone *timeZone=[NSTimeZone timeZoneForSecondsFromGMT:8*3600];</font>
  16.         //将日期设置为timeZone所设置时区
  17.         [dateFormatter setTimeZone:timeZone];
  18.         //获取时间
  19.         NSString *time=[dateFormatter stringFromDate:date];
  20.         NSLog(@"当前时间为:%@",time);
复制代码




1 个回复

倒序浏览
这个厉害,学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马