アプリケーションが最後に更新されたときに TextView で表示しようとしています (例: "最終更新時刻は 12:13")。Calendar インスタンスを使用しようとしており、正しく理解していると思っていましたが、問題が発生しているようです。インスタンスを取得するには、メソッド Calendar.getInstance() を使用します。次に、時間と分を取得するには、Calendar.get(Calendar.HOUR) と Calendar.get(Calendar.MINUTE) を使用していました。分のフィールドは正しく返されますが、Calendar .HOUR は 24 時間時計で時間を返しますが、12 時間時計が必要です.HOUR_OF_DAY は 24 時間時計だと思っていました.どこが間違っているのでしょうか?
私が使用しているコードは次のとおりです。
Calendar rightNow = Calendar.getInstance();
mTv.setText("Refreshed! Last updated " +
rightNow.get(Calendar.HOUR) + ":" +
rightNow.get(Calendar.MINUTE) + ".");
mTv は、更新中の TextView です。助けてくれてありがとう。
また、「最終更新は5分前です」と言っていただけると理想的です。「最終更新時刻 午後 12 時 13 分」の代わりに。しかし、リソースやバッテリーを消耗させずに毎分更新する最善の方法がわかりません...?