我正在使用一个API与我的iOS应用程序交互,该API返回一个.NET DateTime对象。我有些困惑,因为DateTime在离开API时看起来很正常,但是当它通过JSON进入时,它会以如下字符串的形式出现:
/Date(1303884000000-0600)/
这是什么东西,我怎样才能将它转换为NSDate对象?
谢谢!
我正在使用一个API与我的iOS应用程序交互,该API返回一个.NET DateTime对象。我有些困惑,因为DateTime在离开API时看起来很正常,但是当它通过JSON进入时,它会以如下字符串的形式出现:
/Date(1303884000000-0600)/
这是什么东西,我怎样才能将它转换为NSDate对象?
谢谢!
我从解析iPhone上的JSON日期中发现了下面这个函数非常完美:
- (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];
}
https://github.com/RestKit/RestKit/blob/master/Code/Support/RKDotNetDateFormatter.h https://github.com/RestKit/RestKit/blob/master/Code/Support/RKDotNetDateFormatter.m