2011-01-27 13 views
2

私は最後に更新された値のunixtimestampを返すapiを解析しました。私はそれをNSDateに変換しようとしています。私は日付をのNSLogすると、コードが UNIXタイムスタンプがNSDateに正しく変換されない

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

の下に、私はこのような日になっていますされています

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

は上記の日付は明らかに間違っている

上記のコードでは間違いとは何ですか?

EDIT:私のunixtimestampは、この値は、int型のため、明らかに大きいです

"firstitemmsec":"1264396813500" 

です。だから私は[[[feedCount objectAtIndex:i] objectForKey:@"firstitemmsec"] intValue] --oddsの値がいずれかのint値はiOSの上にあるので、大丈夫、それは(それが有効なUNIXタイムスタンプではないことを良いように見えるが、明らかにそれが正しいではありません。このような状況に

答えて

4

Unixのタイムスタンプが秒単位であり、あなたが持っている価値がthis converterによるとされている、あなたは1000で割る場合は、1264396813を取得1月1日、1970年以来ミリ秒の数のようになります。

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

チェックを扱うことができる最善の方法値)

+0

私のunixtimestampは "1264396813500"です。しかし、intへの変換は明らかに値を破壊します。これに最適なソリューションは何ですか? – iSee

+0

これはUNIXのタイムスタンプの範囲外です。すなわち、有効な 'time_t'値ではありません。それが表すはずの実際の日時は何ですか? –

0

私には別のことがあると思います。あなたの番号の最後に "500"を消してください。サーバからのエラーコードで、あなたには正しいUNIX時間があります;)

あなたのサーバにおそらくエラーまたはバグがありましたか?

関連する問題