Questo è il codice, funziona tutto solo che l'appuntamento risulta un ora in meno, ad esempio se è alle 10:30, risulta alle 9:30. Ho visualizzato anche l'oggetto time, l'ho stampato e stampa le 10:30.
codice:
TaskAppuntamento task=new TaskAppuntamento(cliente);
Calendar calendario=Calendar.getInstance(Locale.ITALY);
calendario.set(Calendar.HOUR, 0);
calendario.set(Calendar.MINUTE, 0);
calendario.set(Calendar.SECOND, 0);
java.util.Date data=new java.util.Date(calendario.getTimeInMillis()+
appuntamento.getTime());
this.scheduler.schedule(task, data);
System.out.println(calendario.toString());
System.out.println(appuntamento.toString());
System.out.println(data.toString());
Ecco gli output
codice:
java.util.GregorianCalendar[time=1397685600795,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2014,MONTH=3,WEEK_OF_YEAR=16,WEEK_OF_MONTH=3,DAY_OF_MONTH=17,DAY_OF_YEAR=107,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=795,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
10:30:00
Thu Apr 17 09:30:00 CEST 2014