私は何度も同じ問題に直面しました。
同じ問題がこの質問にあり、同じように解決策を得まし た、Androidで既知の時間と現在の時間を比較する方法は?
問題 :
Calendar calCurr = Calendar.getInstance();
現在の日付と時刻のCalendarオブジェクトを取得するために使用すると、常に間違った結果が返されます。
ログを入れて確認しました。正しくするために、年と月を追加する必要がありました。その後、現在の日付と時刻の正しいオブジェクトを取得しました。
私の例を参照してください:
Calendar calCurr = Calendar.getInstance();
Log.i("Time in mili of Current - Normal", ""+calCurr.getTimeInMillis());
// see what it gives? dont know why?
Date date = new Date();
calCurr.set(date.getYear()+1900, date.getMonth()+1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
// so added one month to it
Log.i("Time in mili of Current - after update", ""+calCurr.getTimeInMillis());
// now get correct
質問 :
- なぜそれが間違った出力を与えているのですか?
- そこにバグがあるのでしょうか、それともCalendarクラスに関する私の概念が間違っているのでしょうか。
- そのために何をすべきだったか教えてください。