Здесь много обсуждений, но то, что я пробовал, не работает. До сих пор в моих таблицах хранить даты как string
, но я предполагаю, что это не правильный путь ... Так что я создал таблицу:Дата хранения в SQLite
CREATE TABLE "TRANSACTIONS" (
"date" DATETIME,
...
}
Я хочу, чтобы хранить дату как 2016-11-04 10:50
, так что я Применение:
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(Calendar.getInstance().getTime());
Я использую prepared Statements
для вставки записей в БД, и когда я пытаюсь сделать это:
stm.setDate(1, timeStamp);
Я понимаю, что String cannot be converted to Date
. Таким образом, я преобразовать его в DATE
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(Calendar.getInstance().getTime());
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date datee = formatter.parse(timeStamp);
, а затем я получаю java.util.Date cannot be converted to java.sql.Date
поэтому я попытался это:
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(Calendar.getInstance().getTime());
java.sql.Date sqlDate = java.sql.Date.valueOf(timeStamp);
, который, когда я запускаю его, я получаю java.lang.IllegalArgumentException
Вы можете использовать preparedStatement.setTimestamp (новая Отметка (Date.getTime())); –