Innanzitutto, in questo caso, dovresti usare scheduleAtFixedRate() ... non schedule() (la differenza la spiega la documentazione di Timer!).Originariamente inviato da noodles25
come eseguire rapidamente la schedulazione di un task tutti i giorni ad un dato orario?
Per stabilire l'orario devi fare così. Il calcolo del periodo l'hai fatto corretto ma questo serve solo per specificare "ogni 24 ore". Hai fatto new Date() ma così l'ora/minuti/secondi è quella .... di quel momento esatto in cui lo esegui! Mentre tu vuoi specificare esplicitamente questi dati.
Allora istanzia un GregorianCalendar, setta i campi ora/minuti/secondi (magari azzera anche il campo millisecondi) e poi ottieni un Date da passare al metodo di schedulazione.