Много по-добър начин да се справите с това е вашата база данни. Докато създавате таблицата, укажете стойността по подразбиране за TIMESTAMP
колона като
CREATE TABLE posts (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
creation_date TIMESTAMP DEFAULT NOW()
);
Примерът показва CREATE TABLE
за MySQL, но концепцията е същата. Докато вмъквате реда си, просто не посочвайте никаква стойност за колоната creation_date
и базата данни автоматично ще го попълни вместо вас.
Като се има предвид същата таблица, ако искате да вмъкнете датата от Java, вашият код трябва да изглежда така
// 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();
}
Имайте предвид, че ще трябва също да отворите DB Connection
(conn
обект по-горе) и го затворете, когато приключите с него. Ако не сте запознати с JDBC API, разгледайте JDBC Basics
първо.