IOS后台 返回 /Date(1445340103367)/ 时间,转换成 2015-10-20 19:21 这种格式

来源:互联网 发布:javascript json类型 编辑:程序博客网 时间:2024/06/13 14:12

最近做一个项目,后台返回的时间是 /Dtae(1445340103367)/  这样子的,在网上搜索的方法没有OC语言 的解决方法,自己用了最笨的方法,使用字符串攫取的方法来得到想要的结果。看看代码,

[objc] view plain copy
  1. // 1.  这是通过 时间戳的位置获取需要的字符串  
  2. + (NSString *)getDateStringWithString:(NSString *) string  
  3. {  
  4.     NSRange range;  
  5.     range.location = 6;  
  6.     range.length = 13;  
  7.     NSString *strin = [string substringWithRange:range];//substringWithRange:  这个方法是截取字符串的值,从第6 位开始(0开始数) ,取13位,得到“1445340103367”  
  8. //    NSLog(@"strin1: %@", strin);  
  9.     double_t doub = [strin doubleValue];// 把字符串转换成 double型  
  10. //    NSDate *nd = [NSDate dateWithTimeIntervalSince1970:毫秒值]/1000.0];  
  11.     NSDate *date = [NSDate dateWithTimeIntervalSince1970:doub/1000.0];//  doub/1000.0 把毫秒级转成秒  
  12.       
  13.     NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];  
  14.     [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];  
  15.     NSString *dateString = [dateFormat stringFromDate:date];  
  16. //    [ViewController getSystemDateAndTime];// 得到系统时间  
  17.     return dateString;// 返回的字符串就是 2015-10-20 19:21 时间格式值  
  18. }  


[objc] view plain copy
  1. // 2.  通过遍历字符串来获取,推荐使用  
  2. - (NSString *)interceptTimeStampFromStr:(NSString *)string{  
  3.     if (!string || [string length] == 0 ) // 传入时间戳为空 返回  
  4.     {  
  5.         return @"";  
  6.     }  
  7.     NSMutableString * mutableStr = [NSMutableString stringWithString:string];  
  8.     NSString * timeStampString = [NSString string];  
  9.     //  遍历取出括号内的时间戳  
  10.     for (int i = 0; i < string.length; i ++) {  
  11.         NSRange startRang = [mutableStr rangeOfString:@"("];  
  12.         NSRange endRang = [mutableStr rangeOfString:@")"];  
  13.         if (startRang.location != NSNotFound) {  
  14.             // 左边括号位置  
  15.             NSInteger leftLocation = startRang.location;  
  16.             // 右边括号距离左边括号的长度  
  17.             NSInteger rightLocation = endRang.location - startRang.location;  
  18.             // 截取括号时间戳内容  
  19.             timeStampString = [mutableStr substringWithRange:NSMakeRange(leftLocation + 1,rightLocation - 1)];  
  20.         }  
  21.     }  
  22.       
  23.     // 把时间戳转化成时间  
  24.     NSTimeInterval interval=[timeStampString doubleValue] / 1000.0;  
  25.     NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];  
  26.     NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];  
  27.     [objDateformat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//年月日时分秒  
  28.     NSString * timeStr = [NSString stringWithFormat:@"%@",[objDateformat stringFromDate: date]];  
  29.     return timeStr;  
  30. }  
阅读全文
0 0