我正在尝试使用.NET服务生成的日期将JSON解析为NSDate对象
{
"Dashboard": {
"Date": "/Date(1326063600000+0000)/"
}
}
使用SBJSON转换此格式化日期的方法是什么?我使用
将值提取到NSString//dict is NSDictionary with Dashboard
NSString* dateString=[dict objectForKey:@"Date"];
然后停了下来。任何建议都将不胜感激。
答案 0 :(得分:2)
这是我从.NET解析的类别
//parses a date from format "/Date(0000000000000+0000)/"
+(NSDate*)dateFromEpocString:(NSString*)epocString {
if ([epocString isEqual:[NSNull null]])
return nil;
NSString* miliMinutes = [epocString substringWithRange:NSMakeRange(6,13)];
long long minutesSince1970 = [miliMinutes longLongValue] / 1000;
int timeOffset = [[epocString substringWithRange:NSMakeRange(19,3)] intValue];
long long minutesOffset = timeOffset * 60 * 60;
return [NSDate dateWithTimeIntervalSince1970:minutesSince1970 + minutesOffset];
}
答案 1 :(得分:1)
从评论中,听起来你已经提取了时间戳。
您可能想要使用NSDate epoch构造函数:dateWithTimeIntervalSince1970:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:SOME_TIME_INTERVAL];
在这种情况下,SOME_TIME_INTERVAL将是NSTimeInterval(只是double的别名)值:1326063600
。不要忘记将得到的值除以1000.NSTimeIntervals以秒为单位,而不是毫秒。