Android アプリケーション内で 2 つの GregorianCalendar オブジェクトを比較する必要があります。私は試した:
myCalendar.compareTo(otherCalendar)
myCalendar.getTimeInMillis() > otherCalendar.getTimeMillis()
ubuntu 64ビットで実行されているエミュレーターでは、どちらも正常に動作します。その後、サムスンギャラクシーs2デバイスで試してみましたが、運がありませんでした。実際のデバイスでの比較は逆で、大きいほど結果が小さくなり、その逆になります。以下を使用して、両方のシステムで値を出力します。
Long.toString(myCalendar.getTimeMillis())
エミュレーターでの 1359716008000 の値 (これが正しいと思います) が、実際のデバイスでは -636369904720 に対応することがわかりました。どんな助けでも本当に感謝します!