国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

OC處理.NetJson時間格式

2019-11-14 19:45:33
字體:
來源:轉載
供稿:網友

 

通過服務器收到的json時間格式是/Date(xxxxxxxxxxxxx+xxxx)/,其中前半部分是自1970年的millionSecs,后半部是時區,我們需要對齊進行轉換。

解決方式有兩種,第一種就是在服務端將時間轉換為字符串再發送,那樣在IOS端直接用NSDateFormater就能獲得時間

如果你對服務端沒選擇的話,就要自己轉換了

只要明白xxxxxxxxxxxxx+xxxx的格式的意義我們就有思路了

首先通過正則表達式取出時間部分和時區部分,計算就可以了

代碼如下

+ (NSDate *)DateFromDotNetJSONString:(NSString *)string {    static NSRegularExPRession *dateRegEx = nil;    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        dateRegEx = [[NSRegularExpression alloc] initWithPattern:@"^///date//((-?//d++)(?:([+-])(//d{2})(//d{2}))?//)///$" options:NSRegularExpressionCaseInsensitive error:nil];    });    NSTextCheckingResult *regexResult = [dateRegEx firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];        if (regexResult) {        // milliseconds        NSTimeInterval seconds = [[string substringWithRange:[regexResult rangeAtIndex:1]] doubleValue] / 1000.0;        // timezone offset        if ([regexResult rangeAtIndex:2].location != NSNotFound) {            NSString *sign = [string substringWithRange:[regexResult rangeAtIndex:2]];            // hours            seconds += [[NSString stringWithFormat:@"%@%@", sign, [string substringWithRange:[regexResult rangeAtIndex:3]]] doubleValue] * 60.0 * 60.0;            // minutes            seconds += [[NSString stringWithFormat:@"%@%@", sign, [string substringWithRange:[regexResult rangeAtIndex:4]]] doubleValue] * 60.0;        }                return [NSDate dateWithTimeIntervalSince1970:seconds];    }    return nil;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄯善县| 乐山市| 青海省| 杂多县| 陆丰市| 丰顺县| 理塘县| 嘉鱼县| 鹤峰县| 通州市| 莱阳市| 鄂伦春自治旗| 宜章县| 兴隆县| 保山市| 达拉特旗| 固始县| 遂平县| 木里| 江口县| 闽侯县| 石狮市| 巴林左旗| 安吉县| 和硕县| 登封市| 长武县| 兴隆县| 伊金霍洛旗| 渭南市| 炉霍县| 台南市| 盐城市| 沛县| 淳安县| 葵青区| 北海市| 龙里县| 农安县| 东源县| 饶平县|