我正在使用返回JSON WCF日期时间的web服务。
字符串像/Date(1316397792913+0800)/
我感兴趣的是提取出1316397792
,这是自1970年1月1日以来以秒为单位的时间。这样我就可以用NSDate timeIntervalSince1970
法得到现在的时间。我去掉了最后3位数字,因为它的单位是毫秒,而timeIntervalSince1970
的单位是秒。
这是我目前正在做的事情,它不适用于2001年之前的某个日期,该日期自1970年以来的时间间隔以ms为单位小于10个字符。
NSString *dateString = @"/Date(1316397792913+0800)/";
NSLog(@"dateString :%@", dateString);
NSDate *date = [NSDate dateWithTimeIntervalSince1970:
[[dateString substringWithRange:NSMakeRange(6, 10)] intValue]];
NSLog(@"NSDate:%@", date);
dateString :/Date(1316397792913+0800)/
NSDate:2011-09-19 02:03:12 +0000
因此,我需要一个更好的工作来处理dateString,它不假设每次我们都将获得10个字符。
您可以简单地获得(
的索引和+
的索引之间的子字符串。比如:
NSRange begin = [dateString rangeOfString:"("];
NSRange end = [dateString rangeOfString:"+"];
NSString* milliSecondsSince1970 = [dateString substringWithRange:NSMakeRange(begin.location + 1, end.location - begin.location - 1)];
p。店员:检查一下有没有一次性错误。