iOS中对时间的处理(三)——各时区时间相互转化
2015-07-11 17:15
495 查看
手机本地系统时间转化为指定时区时间
可以通过timeZoneNames数组查询各个时区的名字,都是以各大洲划分的。
某一时区时间转化为手机本地系统时间
[code]NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames]; NSLog(@"array_%@",timeZoneNames); NSString *startTime = @"2015-07-11 12:30"; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm"]; [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]]; //转化为东八区的时间,即背景时间 NSLog(@"北京时间 %@",[formatter stringFromDate:[NSDate date]]);
可以通过timeZoneNames数组查询各个时区的名字,都是以各大洲划分的。
某一时区时间转化为手机本地系统时间
[code]- (void)day { NSString *startTime = @"2015-07-11 12:30"; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@"yyyy-MM-dd HH:mm"]; NSDate *startDate = [dateformatter dateFromString:startTime]; NSDate *startTime = [self getNowDateFromatAnDate:startDate]; NSString *startDateStr = [dateformatter stringFromDate:startTime]; NSLog(@"%@",startDateStr);//这是最终转好的时间 } - (NSDate *)getNowDateFromatAnDate:(NSDate *)anyDate { //设置源日期时区 NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];//或GMT //设置转换后的目标日期时区 NSTimeZone* destinationTimeZone = [NSTimeZone localTimeZone]; //得到源日期与世界标准时间的偏移量 NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:anyDate]; //目标日期与本地时区的偏移量 NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:anyDate]; //得到时间偏移量的差值 NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset; //转为现在时间 NSDate* destinationDateNow = [[NSDate alloc] initWithTimeInterval:interval sinceDate:anyDate]; return destinationDateNow; }
相关文章推荐
- ios 设置相机照片库中文
- 25个增强iOS应用程序性能的提示和技巧
- iOS中对时间的处理(二)——获取时间及星期
- 网易新闻iOS版使用的开源组件
- iOS代理模式与事件模型对比实现
- sb错误
- 30多个iOS常用动画,带详细注释
- iOS中的设计模式简单说明
- iOS开发系列--并行开发其实很容易
- 【简易版】IOS仿periscope自制狂赞飘桃心
- ios后台播放
- iOS Loading图多张png图片组合动画效果
- iOS SDK详解之NSCalendar & NSDateComponents
- 如何成为一名有优秀的iOS工程师
- iOS3D转场动画
- iOS开发雷达动画效果实现
- ios开发 预处理.pch文件
- iOS--NSDictionary
- iOS字典转模型方法代理片段
- IOS WebView中JS和OC相互调用