时间与整型数据/时间戳转换

同样的时间,一个模块服务端传过来的是时间戳,另一个模块服务端又传的是代表时间的nsinteger格式,然后按照既定时间格式显示出来!真特么想不通服务端干嘛同一个东西,非要客户端用两种解析方式,新公司的服务端真的好难沟通,脾气还差,每次跟他说,他就说了几句他的想法后自己盯着屏幕敲代码,你怎么说都当听不到不理你,可怜我们前端的这些好孩纸啊大哭大哭


分别写两个解析函数,调用就可以了!

1.首先传递的是时间戳的话

-(NSString*)returnDate:(NSInteger)timeStr{

//NSTimeInterval = 1443542400( 服务端的数据)

   NSTimeIntervaltime=timeStr+28800;//因为时差问题要加8小时== 28800 sec//这里也可以设置时区来解决

   NSDate*detaildate=[NSDatedateWithTimeIntervalSince1970:time];

   NSDateFormatter*dateFormatter = [[NSDateFormatteralloc]init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

   NSString*currentDateStr = [dateFormatterstringFromDate: detaildate];

   returncurrentDateStr;

//currentDateStr = 2015-09-30

}

2.传递过来的是非时间戳的格式数据

-(NSString*)returnDate:(NSInteger)timeStr{

 //timeStr= 20150930

//这里用的是dateFormatter的方法,更简单一点的方法就是用stringWithFormat:和NSRange方法对数据进行拼凑,不过这里加了保险,以防后期会用到NSDate。。。

//NSInteger对应的NSDate

   NSString*string = [NSStringstringWithFormat:@"%ld",(long)timeStr];

   NSDateFormatter*inputFormatter= [[NSDateFormatteralloc]init];

    [inputFormattersetDateFormat:@"yyyyMMdd"];

   NSDate*inputDate = [inputFormatterdateFromString:string]; 

 //NSDate转化成既定格式的时间格式

   NSDateFormatter*outputFormatter= [[NSDateFormatteralloc]init];

    [outputFormattersetLocale:[NSLocalecurrentLocale]];

    [outputFormattersetDateFormat:@"yyyy-MM-dd"];

   //获取时间字符串

   NSString*str= [outputFormatterstringFromDate:inputDate];

   returnstr;

//str = 2015-09-30

}



版权声明:本文为Dennis_Zhang_941314原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。