Uma maneira muito melhor de lidar com isso é no lado do banco de dados. Ao criar a tabela, especifique o valor padrão para o
TIMESTAMP
coluna como Postagens
CREATE TABLE posts (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
creation_date TIMESTAMP DEFAULT NOW()
);
O exemplo mostra um
CREATE TABLE
para MySQL, mas o conceito é o mesmo. Ao inserir sua linha, apenas não especifique nenhum valor para a coluna creation_date
e o banco de dados irá preenchê-lo automaticamente para você. Dada a mesma tabela, se você deseja inserir a data do Java, seu código deve se parecer com
// Get current time
Timestamp now = new Timestamp(new Date().getTime());
try {
// Prepare INSERT through Connection
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO posts (title, creation_date) VALUES (?, ?)");
// Bind values
stmt.setString(1, title);
stmt.setTimestamp(2, now);
// Insert
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
Observe que você também precisaria abrir um banco de dados
Connection
(o conn
objeto acima) e feche-o quando terminar. Se você é novo na API JDBC, dê uma olhada em Noções básicas de JDBC
primeiro.