获取网络时间

{
    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(@"");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值