2011-01-27 41 views
2

我已经解析了一个api,它为上次更新的值返回一个unixtimestamp。我试图将其转换成NSDate。代码如下Unix时间戳记未正确转换为NSDate

NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[[feedCount objectAtIndex:i] objectForKey:@"firstitemmsec"] intValue]]; 
NSLog(@"%@", date); 

当我的NSLog,我越来越日期这样的日期:

2038-01-19 03:14:07 +0000 

上述日期显然是不对的

什么是在上面的代码中的错误?

编辑:我unixtimestamp是

"firstitemmsec":"1264396813500" 

这个值是INT显然更大。那么,如何最好能处理这种情况

回答

4

Unix的时间戳是在几秒钟内,你的价值看起来像一些毫秒自1月1日1970年如果你除以1000,你会得到1264396813,根据this converter是:

Mon, 25 Jan 2010 05:20:13 GMT 
2

检查的[[[feedCount objectAtIndex:i] objectForKey:@"firstitemmsec"] intValue] --odds价值似乎很好,这不是一个有效的UNIX时间戳(好吧,这是因为任何int值是在iOS上,但显然这不是值)

+0

我有我的unixtimestamp为“1264396813500”。但是转换为int将显然破坏该值。什么是最好的解决方案? – iSee 2011-01-27 06:45:18

0

我认为还有另外一件事要做。删除号码末尾的“500”,这是服务器发出的错误代码,并且您有正确的unix时间;)

您的服务器可能有错误或错误... ???