私のAndroidアプリで。2時間ごとにタスクを実行しています。時間が2時間を超えていることを確認するにはどうすればよいですか。
私はこれを使おうとしましたが、それは廃止されたと言います
Date date = new Date();
date.setHours(date.getHours() + 2);
これを実装する方法についての洞察をいただければ幸いです。
このリンクを確認してください
http://www.dotnetexpertsforum.com/comparing-date-time-values-in-android-t1567.html
Calendar current_time = Calendar.getInstance ();
current_time.add(Calendar.YEAR, 0);
current_time.add(Calendar.DAY_OF_YEAR, 0);
current_time.set(Calendar.HOUR_OF_DAY,
//Subtract 2 hours
current_time.get(Calendar.HOUR_OF_DAY)-2);
current_time.set(Calendar.MINUTE, 0);
current_time.set(Calendar.SECOND, 0);
Calendar given_time = Calendar.getInstance ();
given_time.set(Calendar.YEAR, syear);
//Give the day sDay and hour shour
given_time.set(Calendar.DAY_OF_YEAR, sday);
given_time.set(Calendar.HOUR_OF_DAY, shour);
given_time.set(Calendar.MINUTE, 0 );
given_time.set(Calendar.SECOND, 0);
Date current_calendar = current_time.getTime();
Date given_calendar = given_time.getTime();
System.out.println("Current Calendar "+ current_calendar);
System.out.println("Given Calendar "+ given_calendar);
boolean v = current_calendar.after(given_calendar);
if(v){
return true;
}
Calendar
クラスを使用する必要があります。
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY)+2);
calendar.getTime();//your date +2 hours
カレンダークラスを使用する:
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.HOUR)>(cal.get(Calendar.HOUR)+2));
Date
非推奨です。Calendar
代わりに使用してください。
2時間は2*60分、2 * 60 * 60秒、2 * 60 * 60*1000ミリ秒です。したがって、このミリ秒数を日付に追加するだけです。
Date date = new Date ();
Date after2Hours = new Date (date.getTime () + 2L * 60L * 60L * 1000L);
そのタスクを2時間ごとに繰り返す必要がある場合は、AlarmManagerサービスを使用する必要があります。詳細については、以下のリンクを参照してください。
http://www.javacodegeeks.com/2012/09/android-alarmmanager-tutorial.html