私のアプリケーションでは、イベントの終了時刻を含むJSONを解析する必要があります。このイベントが進行中のとき、私はそのエベットのファイナライズまでの残り時間を計算する必要があります。これを行うには、次のコードを使用します。
// 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に変換します。これは、OptimusBlackやHTCDesireなどの一部のデバイスでは魅力のように機能しています。しかし、今日、私は友人のZTE Bladeでアプリをテストしましたが、イベントの残り時間は非常に奇妙です。元のものから非常に離れた負の数と数字で表示されます。さまざまな値でアプリをテストしましたが、パターンはありません。乱数のようなものです。例:
Optimus Black-> 21m 32s
ZTE Blade-> -38m -57s
System.currentTimeMillis()は両方のデバイスで異なる可能性があると思いましたが、どちらもOSとしてCM7を使用しています。