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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泠风小和 中级黑马   /  2014-9-2 09:23  /  1273 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么直接打印NSDate对象输出的是0时区的时间,而把NSDate对象转换成字符串输出时却成了东八区北京时间?

1.       创建一个时间对象
          NSDate *date1 = [NSDate date];
         NSLog(@"%@", date1); // 2014-08-24 10:59:08+0000 打印出的时候是0时区的时间(北京-8区)  
2.       将NSDate换成字符串输出,时间为北京时间
         // 日期格式化类
         NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
         formatter1.dateFormat = @"yyyy-MM-ddHH:mm:ss"; // y  M  d  H24)时 h12)时  m  s
         NSString *str = [formatter1 stringFromDate:date1]; // NSDate换成字符串输出
         NSLog(@"%@", str); // 2014-08-24 18:59:08

1 个回复

倒序浏览
年-月-日这种输出方式是中国人的,老外是月-日-年这种输出方式,所以,你年月日输出就默认设定的东8区了。

这是我猜的,你可以验证下,月-日-年输出试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马