Подтвердить что ты не робот

Как вставить текущую дату в базу данных MySQL с помощью Java?

Я хочу вставить текущую дату и время в столбцы, определенные как тип datetime.

Я набрал следующий код:

java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);

Когда я проверяю базу данных, я считаю, что дата вставлена ​​правильно, но время: 00:00:00. Что такое исправление?

4b9b3361

Ответ 1

Поскольку вы используете datetime в качестве типа столбца, вам нужно использовать java.sql.Timestamp для хранения вашей даты и PrepareStatement.setTimestamp, чтобы вставить его.

Попробуйте использовать: -

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);

Ответ 3

Что вам нужно использовать, это метод setTimestamp (int parameterIndex, Timestamp x) вместо метода setDate().

Один из способов установить временную метку будет следующим:

Timestamp timestamp = new Timestamp(new Date().getTime());

Затем вы можете установить параметр как:

PrepStmt.setTimestamp(1, timestamp);

Ответ 4

Похоже, что вам нужно

java.sql.Timestamp

То, что вы используете java.sql.Date для работы с датами и не записывает время. В качестве альтернативы вы можете использовать java.sql.Time, если вам нужно только время.

Ответ 5

Попробуйте установить setTimestamp как

PrepStmt.setTimestamp(1, sqlDate);

Ответ 6

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);

Я решил это, используя это.