#java #jdbc
#java #jdbc
Вопрос:
Один из столбцов моей базы данных имеет формат временных меток типа (гггг-ММ-дд ЧЧ: мм: сс), но сохраненные в нем данные — 2014-06-13 00:00:00. Таким образом, компонент времени не сохраняется в таблице базы данных.
Я пытаюсь вставить данные в эту таблицу, но не могу удалить компонент времени из моих данных.
Вот что я делаю:
long time = System.currentTimeMillis();
java.sql.Timestamp timestamp = new java.sql.Timestamp(time);
Итак, время (длинное) = 1402710418003 и временная метка =2014-06-13 21:46:58.003
Есть ли способ удалить временную часть из метки времени? Пример: 2014-06-13 ИЛИ Пример: 2014-06-13 00:00:00
Это мое подготовленное утверждение:
java.util.Date currentDate= new java.util.Date();
sql_statement4.setTimestamp(6,new Timestamp(currentDate.getTime()));
sql_statement4 является объектом PreparedStatement.
Я хочу, чтобы значение было в формате временной метки.
Как мне это сделать?
Комментарии:
1. Разве это не будет удалено вызовом db в любом случае?
2. Используйте PreparedStatement.setDate вместо setTimestamp
3. @SotiriosDelimanolis Что значит вызов БД? Я вставляю данные. Нет, компонент time также вставляется.
4. @BrettOkken В настоящее время это то, что я делаю. sql_statement4.setTimestamp(6, новая временная метка(currentDate.getTime()));
Ответ №1:
Вам нужно изменить вызов (из вашего комментария),
sql_statement4.setTimestamp(6,new Timestamp(currentDate.getTime()));
Для
sql_statement4.setDate(6,new java.sql.Date(currentDate.getTime()));