iOS获取网络北京时间

当我们需要获取网络时间的时候,我们可以从服务器是获取,但是对于没有自己服务器的小伙伴来说,只能从网络上获取了,这里我们是从百度来获取网络时间,具体代码如下:

- (NSDate *)getInternetDate
{
     NSString *urlString = @"http://m.baidu.com";
     urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
     NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
     [request setURL:[NSURL URLWithString: urlString]];
     [request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
     [request setTimeoutInterval: 2];
     [request setHTTPShouldHandleCookies:FALSE];
     [request setHTTPMethod:@"GET"];
      NSHTTPURLResponse *response;
     [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
 
     NSString *date = [[response allHeaderFields] objectForKey:@"Date"];
     date = [date substringFromIndex:5];
     date = [date substringToIndex:[date length]-4];
     NSDateFormatter *dMatter = [[NSDateFormatter alloc] init];
     dMatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
     [dMatter setDateFormat:@"dd MMM yyyy HH:mm:ss"];
NSDate *netDate = [[dMatter dateFromString:date] dateByAddingTimeInterval:60*60*8];
    
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate: netDate];
    NSDate *localeDate = [netDate  dateByAddingTimeInterval: interval];
    return localeDate;
}

这样获取的就是网络的北京时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,385评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,246评论 19 139
  • 目录 : 意外相逢 文:小小灵珠 “不,这不是真的,你骗我……”夏夜,电闪雷鸣,暴风骤雨,他哭喊摔开房门冲向...
    小小灵珠阅读 459评论 0 2
  • 我理解的《圈子圈套》 你走进别人设计好的圈套; 别人走进你设计好的圈套; 你走进自己的圈套(惯性思维)。
    蓝精灵58阅读 267评论 0 0
  • IronyW阅读 133评论 0 0