Sto provando a impostare un timestamp nel mio database usando java, tuttavia nella mia tabella tutto ciò che ottengo è la data, e non c'è tempo (ad esempio, sembra "2010-09-09 00:00:00").Come si imposta una data e ora complete sql utilizzando java e non solo la data?
Sto usando un campo datetime sul mio database mysql (perché è appears che datetime is more common than timestamp). Il mio codice per impostare la data è il seguente:
PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Date timestamp = new java.sql.Date(today.getTime());
ps.setDate(1, timestamp);
ps.executeUpdate();
Come impostare la data per includere l'ora?
Modifica: Ho modificato il codice come di seguito e imposta sia la data che l'ora.
PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Timestamp timestamp = new java.sql.Timestamp(today.getTime());
ps.setTimestamp(1, timestamp);
ps.executeUpdate();
Non si dovrebbe trattare con i formati di stringa per date/orari in cui salvarli o leggerli da un database. Le astrazioni di JDBC come 'setTimestamp' e' getTimestamp' sono lì per renderlo inutile. – ColinD
thx, ho letto male e non ho notato sql. Errore mio – oyo