黑马程序员技术交流社区
标题:
格林尼治时间设置为北京时间方法
[打印本页]
作者:
muzipiao
时间:
2016-4-13 18:43
标题:
格林尼治时间设置为北京时间方法
尝试转换北京时间,设置NSTimeZone即可,3种方法可达到目的,各有优缺点,如果实际应用,估计需要检测做条件判断,或者用户选择
//设置时间显示的格式
NSString *dateStr=@"yyyy年MM月dd日 HH:mm:ss";
//创建NSDate时间对象
NSDate *date=[NSDate new];
//创建时间格式对象
NSDateFormatter *dateFormatter=[NSDateFormatter new];
//将时间设置为上述的字符串样式
[dateFormatter setDateFormat:dateStr];
//转换时区,只需设置timeZone即可
<font color="#0000ff"> (1)方法1:设置NSTimeZone为当地时间,由于当地时间为GMT+8北京时区,显示正确
NSTimeZone *timeZone=[NSTimeZone localTimeZone];
(2)方法2:设置NSTimeZone为系统时间,根据电脑系统所在时区而变
NSTimeZone *timeZone=[NSTimeZone systemTimeZone];
(3)方法3:设置NSTimeZone为GMT+8时区,与标准时间相差8小时,设置为8(小时)*3600(秒),0为格林尼治时间
NSTimeZone *timeZone=[NSTimeZone timeZoneForSecondsFromGMT:8*3600];</font>
//将日期设置为timeZone所设置时区
[dateFormatter setTimeZone:timeZone];
//获取时间
NSString *time=[dateFormatter stringFromDate:date];
NSLog(@"当前时间为:%@",time);
复制代码
作者:
毛小猪
时间:
2016-4-26 21:42
这个厉害,学习学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2