[英]How to parse /Date(xxx+0000)/ in SBJSON
我正在尝试将.NET服务生成的日期与NSDate对象一起解析为JSON
{
"Dashboard": {
"Date": "/Date(1326063600000+0000)/"
}
}
使用SBJSON转换这种格式化日期的方法是什么? 我使用将值提取到NSString
//dict is NSDictionary with Dashboard
NSString* dateString=[dict objectForKey:@"Date"];
然后停下来。 任何建议将不胜感激。
这是我从.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];
}
从注释中,听起来好像已经提取了时间戳。
您可能要使用NSDate历元构造函数: dateWithTimeIntervalSince1970:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:SOME_TIME_INTERVAL];
在这种情况下,SOME_TIME_INTERVAL将为NSTimeInterval(只是double的别名)值: 1326063600
。 不要忘记将得到的值除以1000。NSTimeIntervals以秒为单位,而不是毫秒。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.