我已经解析了一个api,它为最后更新的值返回一个unixtimestamp。我试图将其转换为NSDate。代码在
之下NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[[feedCount objectAtIndex:i] objectForKey:@"firstitemmsec"] intValue]];
NSLog(@"%@", date);
当我记录日期时,我得到这样的日期:
2038-01-19 03:14:07 +0000
上述日期显然是错误的
上述代码中的错误是什么?
编辑:我的unixtimestamp是
"firstitemmsec":"1264396813500"
这个值对于int来说明显更大。那么我如何才能最好地处理这种情况呢
答案 0 :(得分:4)
Unix时间戳以秒为单位,自1970年1月1日以来,您所拥有的值看起来像毫秒。如果除以1000,则得到1264396813,根据this converter是:
Mon, 25 Jan 2010 05:20:13 GMT
答案 1 :(得分:2)
检查[[[feedCount objectAtIndex:i] objectForKey:@"firstitemmsec"] intValue]
的值 - 它似乎不是一个有效的UNIX时间戳(好吧,因为任何int
值都在iOS上,但显然它不是正确的值。)
答案 2 :(得分:0)
我认为还有另外一件事要做。删除数字末尾的“500”,这是服务器的错误代码,你有一个正确的unix时间;)
您的服务器上可能存在错误或错误...... ???