1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| private void TimerPeriodique() {
//Créer un calendar
GregorianCalendar calendar = new GregorianCalendar();
GregorianCalendar calendarStart = new GregorianCalendar();
// date actuel du systeme
calendar.setTime(new Date());
// récupérer lejour heure et minute
int day = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
// Calculer la difference pour lancer ma tache le samedi (7) a 23h59
int defday = 7 - day;
int defhour = 23 - hour;
int defminute = 59 - minute;
// ajouter la difference pour récupérer la date de début de ma tache (le samedi suivant a 23h59)
calendarStart.add(calendarStart.DAY_OF_MONTH, defday);
calendarStart.add(calendarStart.HOUR_OF_DAY, defhour);
calendarStart.add(calendarStart.MINUTE, 3);
// lancer mon timer
Timer timerVarGlace = new Timer("timerTest");
timerVarGlace.schedule(new TimerTask() {
@Override
public void run(){
// execution de la tache
}
}, calendarStart.getTime(), 604800000);
} |
Partager