Сохранение данных временных меток, но только с датой в Java

#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()));