我正在使用一个API,它将.NET DateTime对象返回到我的iOS应用程序中.我对发生的事情感到有点困惑,当它离开API时,DateTime看起来很好,但是当它出现时,它会通过
JSON进入,并以字符串形式显示如下:
/Date(1303884000000-0600)/
WTF是那个,我怎么能把它变成一个NSDate对象?
谢谢!
解决方法
从
Parsing JSON dates on IPhone开始,我发现以下功能是完美的:
- (NSDate*) getDateFromJSON:(NSString *)dateString { // Expect date in this format "/Date(1268123281843)/" int startPos = [dateString rangeOfString:@"("].location+1; int endPos = [dateString rangeOfString:@")"].location; NSRange range = NSMakeRange(startPos,endPos-startPos); unsigned long long milliseconds = [[dateString substringWithRange:range] longLongValue]; NSLog(@"%llu",milliseconds); NSTimeInterval interval = milliseconds/1000; return [NSDate dateWithTimeIntervalSince1970:interval]; }