ciao a tutti.
la mia applicazione deve eseguire su un database una stored procedure ad un determinato orario
la funzione per ottenere i millisecondi da aspettare (comprensivo del conto delle 24 ore)
e' la seguente:
time e' un intero che va da 0 a 23.codice:long timeout; Calendar now = new GregorianCalendar(); Calendar startsAt = new GregorianCalendar(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DATE),time,0,0); if (now.before(startsAt)){ timeout = (startsAt.getTimeInMillis() - now.getTimeInMillis()); } else { long day = 86400000L; timeout = ( day - (now.getTimeInMillis() - startsAt.getTimeInMillis())); } return timeout;
questa funzione viene richiamata ogni volta che la stored procedure termina, cosi' da risettare il timer considerando anche il tempo di esecuzione della procedura. il problema e' che dopo 4 giorni ha anticipato di 30 minuti e rotti l'ora di esecuzione... aiuto?![]()




Rispondi quotando

lo sapevooooo
VVoVe: ) e non posso lasciare il pc acceso durante la notte
