从网络请求的时间戳 转换方法 (+++本实例 时间戳遵从 GMT 1970 +++)

(NSString*)timeStamp  //从网络上请求的时间戳

##############整体大致转换思路:由于.从网络上请求的时间戳timeStamp是 GMT 1970

                       1.求出时间戳 与当前日期 的秒差  (当前日期差为 思路把当前日期相对于GMT 1970 的秒差)

                 2.求出时间戳 与当前日期的日期差 (通过NSDateFormatter)  

            

NSString * returnDateString=nil;  //转换后的用来显示的 时间字符串
        
        NSDate *confromTimesp =[NSDate dateWithTimeIntervalSince1970:[timeStamp integerValue]];//创建一个timeStamp对应对的NSDate类型的对象
        NSDate *nowdate = [NSDate date];                                       //创建一个当前日期的NSDate对象
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];                   //创建一个日期格式转换(去掉中间特殊符号以及空格,目的是为了转换后再使用integerValue转换)
        [formatter setDateFormat:@"YYYYMMddHHmmss"]; 

                    
        NSString *nowdateString = [formatter stringFromDate:nowdate];                //将当前日期通过格式转换为相对应的字符串
        
        NSString *addtime = [formatter stringFromDate:confromTimesp];                //同时将时间戳的对应的时间通过日期格式转换为
        
        NSTimeInterval nowDateInterval = [[NSDate date] timeIntervalSince1970];            
        
        NSTimeInterval twoTimeInterval = nowDateInterval - [newsDetailsModle.addtime integerValue]; //时间戳 对应的时间 和当日时间 的秒差
        
        
        NSInteger  nowDateInteger = [nowdateString integerValue];
        NSInteger  addTimeInteger = [addtime integerValue];
        NSInteger  twoTimeInterV = nowDateInteger - addTimeInteger;                 //时间戳对应的日期   与当日对应的日期 差
        if (twoTimeInterV>2000000) {                                  //当日期差  大于2000000 (就是大于两天的候)就显示时间戳对应的日期 下面 +8000000是为了转换为中国日期
            returnDateString = [NSString stringWithFormt:@"%@",addTimeInteger+8000000];                    
            NSLog(@"%@",addtime);
            
        }else if(twoTimeInterV>1000000&&twoTimeInterV<2000000){                  //日期差为一天 返回字符串显示为昨天 @"昨天"
            
            returnDateString = @"昨天";
            NSLog(@"昨天");
            
        }else {
            
            if (twoTimeInterval>3600) {                                              //根据时间秒差进行计算在这一天中的时间差(大于一小时)
                NSInteger fffff = (NSInteger)twoTimeInterval;
                NSInteger hour =fffff/3600;                                     
                returnDateString = [NSString stringWithFormat:@"%ld 小时之前",hour];
            }else{
                
                NSInteger minit =(NSInteger)twoTimeInterval%60;
                returnDateString = [NSString stringWithFormat:@"%ld 分钟之前",minit];           /一小时之内
                
            }
            
            
            
        }
        
       return   returnDateString;

时间: 2024-10-27 00:03:26

从网络请求的时间戳 转换方法 (+++本实例 时间戳遵从 GMT 1970 +++)的相关文章

Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所帮助. 首先按照惯例先来简单了解一些AsyncHttpClient网络框架的一些知识. 1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-a

微信小程序request请求实例,网络请求。

最近微信小程序开始开放测试了,小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api. 官方参数说明如下 OBJECT参数说明: 参数名 类型 必填 说明 url String 是 开发者服务器接口地址 data Object.String 否 请求的参数 header Object 否 设置请求的 header , header 中不能设置 Referer method String 否

Android实际开发之网络请求组件的封装(OkHttp为核心)

趁周末时间撸了两天代码,将OkHttp网络请求框架进行了一次简单封装,对于实际开发非常有用.. 此次封装主要针对我们经常使用的网络请求的步骤进行封装,在已有框架OkHttp的基础上进行实际开发的封装 发送一个网络请求,有以下三个功能模块: 一:request处理 二:OkHttp核心处理 三:callback处理 我们进行网络请求组件的封装也是根据这三大模块进行封装的,下面规划一下这次封装的一个思维导图: 根据以上思维导图,我们第一步,先进行request的封装: 以下是封装的一个CommonR

Volley源码(2):执行网络请求的流程

上一篇(http://blog.csdn.net/szxgg/article/details/51345859)讲述了当我们调用Volley.newRequest()时,Volley内部这个类做了什么,其实Volley这个类就做了一件事情,就是实例化了RequesQueue,这也符合设计模式中的单一职责,其实主要的处理都在其他类中,有三个类最重要,HttpStack/Network/RequestQueue,之后会讲解这些类的关系及作用,那首先还是结合我们使用Volley时的情形来看看源码内部执

AFNetworking 2.5.x 网络请求的封装

源码地址 https://github.com/YouXianMing/Networking 说明 1. 将block形式的请求转换成用代理来处理 2. 你可以通过继承父类,改写父类的某些方法来达到转换请求字典(加密或者其他事宜等),转换获取结果的目的(加密或者其他事宜等) 3. 支持下载进度 常规请求源码 // // Networking.h // NetworkingCraft // // Created by YouXianMing on 15/6/11. // Copyright (c)

Android 各大网络请求库的比较及实战,android请求库实战

自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android 2.3以后使用HttpUrlConnection,之前使用HttpClient.

Android进阶笔记01:Android 网络请求库的比较及实战(一)

在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android2.3以后使用HttpUrlConnection,之前使用HttpCl

在与SQL Server建立连接时出现于网络相关的或特定于实例的错误

客户遇到一个问题,用“服务器名\实例名”远程连接另外一台命名实例的时候连接失败,报“在与SQL Server建立连接时出现于网络相关的或特定于实例的错误,未找到或无法访问服务器.请验证实例名称是否正确并且SQL Server已配置允许远程访问连接.(provider:SQL Network Interfaces,error:26-定位指定的服务器/实例时出错)”. 首先,尝试用ip和端口号进行连接,发现可以连接上,说明实例运行正常,并不是因为实例未开启导致无法连接,如果此连接失败,则需要检查实例

常见网络请求库汇总

概述: 所有网络库的原理是: 网络请求一般是基于HttpURLConnection和HttpClient进行封装的,也有自己编写Socket实现的,比如ion和OkHttp:请求的执行一般是通过线程池来管理,异步请求得到结果,则通过回调接口接收:并且一般接收结果的回调都通过Handler去在主线程执行 几大网络请求库: Ion:Android Asynchronous Networking and Image Loading Volley:谷歌官方推出的网络请求和图片加载库 Retrofit:S