2011-01-27 80 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時間;)

您的服務器可能有錯誤或錯誤... ???