Salve ragazzi devo implementare un software che mi permetta ad una certa ora di fare una determinata azione !! Posso mai verificare l'orario ogni secondo ?
Salve ragazzi devo implementare un software che mi permetta ad una certa ora di fare una determinata azione !! Posso mai verificare l'orario ogni secondo ?
Devi necessariamente implementarlo da zero? Di soluzioni già pronte ne trovi, cron ad esempio. Altrimenti specifica meglio il contesto.
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
allora ho il seguente problema: ho un database mysql con un campo di tipo date, devo prelevare tutte le tuple che hanno la data odierna utilizzando java. adesso mi chiedo come la creo questa query? praticamente come faccio ad ottenere la data attuale a partire di java in un formato che sia poi compatibile per il confronto con mysql?
Semplice: si ottiene un oggetto java.util.Date, tramite questo si crea un oggetto java.sql.Date e si usa quest'ultimo per fare le query:
codice:// Ottengo la data di sistema (data di oggi) in un formato "compatibile" con i DB java.sql.Date sqlDate = new java.sql.Date( new java.util.Date().getTime() ); // Uso l'oggetto in un PreparedStatement: String sql = "SELECT * FROM Tabella WHERE campoData = ?"; PreparedStatement pstmt = con.prepareStatement( sql ); pstmt.setDate(1, sqlDate); ResultSet rs = pstmt.executeQuery(); ...
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
grazie mille. Perchè Date e non GregorianCalendar? Ovvero quando bisogna utilizzare una e quando bisogna utilizzare l'altra?
GregorianCalendar è uno strumento che consente di "manipolare" le date: consente di spostare le date avanti e indietro e tante altre cose. Se a te serve solo l'informazione sull'istante di tempo, usa un oggetto Date, che non è modificabile.
Dal punto di vista prettamente funzionale, usare Date o GregorianCalendar non sposta di una virgola... l'unica differenza è che devi fare un "passaggio" in più, dato che i Calendar, con il metodo getTime(), ritornano, appunto un Date:
codice:GregorianCalendar gc = new GregorianCalendar(); java.sql.Date sqlDate = new java.sql.Date( gc.getTime().getTime() ); ...
Solo che, appunto, è uno spreco di risorse: non ha senso istanziare una completa gestione del calendario solo per ottenere la data odierna.
Ah, per la cronaca... si può anche fare a meno del Date:
codice:java.sql.Date sqlDate = new java.sql.Date( System.currentTimeMillis() );
Ciao.![]()
Ultima modifica di LeleFT; 03-04-2014 a 18:28
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
davvero grazie !
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
ti chiedo scusa ,ritornando alle date, devo confrontare due date, ma la precisione non deve essere al millisecondo , ovvero si deve fermare a giorno mese e anno . Come posso fare?
Ritornando al problema, originale, devo far si che una volta scaricati gli orari degli appuntamenti dal db della data odierna, quando arriva l'ora di un appuntamento avviso con un messaggio a schermo. Io avevo pensato questa soluzione :
supponendo oggi di avere 3 appuntamenti uno alle 16, uno alle 17,uno alle 18,creo un thread che dorme dal momento del download degli appuntamenti fino alle 16 , in cui mi avvisa dell ,appuntamento, poi successivamente sempre lo stesso thread dorme fino alle 17 e cosi via. Inserendo gli orari in una coda. Cosa ne pensate?