私のアプリケーションでは、イベントの終了時刻を含むJSONを解析する必要があります。このイベントが進行中の場合、私はそのエベットの終了時に残された時間を計算する必要があります。私は秒単位の時間をしたらcurrentTimeMillis()が期待した結果を返さない
// I get the time and convert it from millis to seconds
long end = System.currentTimeMillis()/1000;
techsTime.add((int) (queue.event.get("event0").endtime - end));
が、私はD、H、M、Sに変換します。これを行うには、私は、コードのこの部分を使用しています。 Optimus BlackやHTC Desireのようなデバイスの魅力のように働いています。しかし、今日私は友人のZTE Bladeで自分のアプリをテストしましたが、イベントの残り時間は非常に奇妙です。これは、元のものから非常に離れた負の数と数字で表示されます。例えば、彼らはランダムな数字のようにしている、私は異なる値でアプリをテストしてみた何パターンはありません。
オプティマスブラック - > 21メートルの32S
ZTEブレード - > -38m -57s
を私はしましたSystem.currentTimeMillis()は両方のデバイスで異なる可能性があると考えていましたが、どちらもOSとしてCM7を使用しています。
問題は、私のアプリがほぼ世界中で使用されていることです...私は両方のデバイスのタイムゾーンをチェックしようとしています... –
あなたは一人でした!それはタイムゾーンでした!問題は今私が前に言ったことです、私のアプリは世界中で使われています、それは別のタイムゾーンを意味します...電話のタイムゾーンをチェックし、必要な操作をしているのでしょうか?他のアイデア? –
絶対時間(エポックからの時間)を計算するため、タイムゾーン自体は問題ありません。あなたのデバイスの1つがこれを正しく計算しないと問題が発生します –