デバイスのタイムゾーンが正しくない場合、時間は誤った値を返しますが、カレンダーは機能します。私のアプリはTimeを使用して作成されており、そのままにしておきたいのですが、タイムゾーンの問題を修正する必要があります。
Calendar c = Calendar.getInstance();
String out= c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE);
Toast.makeText(this, ""+out, Toast.LENGTH_SHORT).show();
//returns correct time
Time currentTime = new Time();
currentTime.setToNow();
Toast.makeText(this, currentTime.format("%H:%M"), Toast.LENGTH_SHORT).show();
//returns incorrect time