获取网络时间
2015-12-08 14:49
441 查看
{ NSURLConnection *_connection; void(^_netWorkTimeBlock)(NSString *netWorkTime); } /** * 获取网络时间 * * @param nowNetWorkTimeBlock 返回时间 / 或者无网络状态信息 */ - (void)getNetworkTimeBlock:(void(^)(NSString *nowNetWorkTime))nowNetWorkTimeBlock { if (![self isConnectNetWork]) { if (nowNetWorkTimeBlock) { nowNetWorkTimeBlock(@""); return; } } NSString *urlString = @"http://www...."; NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; _connection = [NSURLConnection connectionWithRequest:request delegate:self]; _netWorkTimeBlock = ^(NSString *netWorkTime){ if (nowNetWorkTimeBlock) { nowNetWorkTimeBlock(netWorkTime); } }; } ////转换为当地时区的时间 //- (NSDate *)getNowDateFromatAnDate:(NSDate *)anyDate //{ // //设置源日期时区 // NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];//或GMT/UTC // //设置转换后的目标日期时区 // 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; //} #pragma mark - NSURLConnectionDataDelegate - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { NSHTTPURLResponse * rp = (NSHTTPURLResponse *)response; // NSLog(@"%@",rp.allHeaderFields[@"Date"]); NSString *timeStr = rp.allHeaderFields[@"Date"]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"]; NSLocale* local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; [formatter setLocale:local]; NSDate *date = [formatter dateFromString:timeStr]; // NSLog(@"%@",date); NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"yyyy-MM-dd"]; NSString *dateStr = [fmt stringFromDate:date]; // NSLog(@"%@",dateStr); if (_netWorkTimeBlock) { _netWorkTimeBlock(dateStr); } [_connection cancel]; } - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { if (_netWorkTimeBlock) { _netWorkTimeBlock(@""); } }
相关文章推荐
- get/post方式调用http接口
- 轻松管理您的网络password
- WebSocket原理及与http1.0/1.1 long poll和 ajax轮询的区别【转自知乎】
- OkHttp关于https请求的设置
- 网络开发
- linux下的CPU、内存、IO、网络的压力测试
- 了解HTTP
- CentOS6.5设置网络连接
- HTTP常用响应头
- HTTP常用请求头
- TCP,IP详解,卷一:协议学习笔记之第三章IP:网际协议
- Failed to start LSB 网络服务启动失败的四种解决方法
- C# 与 http 协议
- Nginx获取真实IP模块 http_realip_module
- python实现select和epoll模型socket网络编程
- 【HTML解析】HTML解析,网络爬虫
- Fiddler抓取HTTP请求
- Android网络编程之TCP通信----简单客户端与服务端通信
- Cisco路由器的配置
- 介绍Cisco路由器