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

Вставка текущей даты и времени в базу данных SQLite

Я хочу создать таблицу в SQLite, в которой одно из полей - дата, в которой дата и время текущего экземпляра должны сохраняться. Какой тип данных я должен использовать?

Я планирую использовать "timestamp". Как вставить текущее значение временной метки в поле? Также как писать значения содержимого для этого поля даты?

4b9b3361

Ответ 1

SQLite поддерживает стандартные переменные SQL CURRENT_DATE, CURRENT_TIME и CURRENT_TIMESTAMP:

INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP)

По умолчанию тип данных для дат/времени в SQLite - TEXT.

ContentValues не позволяют использовать общие выражения SQL, только фиксированные значения, поэтому вам нужно прочитать текущее время в Java:

cv.put("LastModifiedTime",
       new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

Ответ 2

INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now'))

Используйте этот сайт для дальнейшей справки.

Ответ 3

Я использую timestamps много в моем приложении. Для меня лучший способ сохранить временную метку - преобразовать ее в миллисекундах. После этого легко преобразовать его в любую локаль.

Если вам нужно текущее время, используйте System.currentTimeMillis(). Значения контента просты в использовании, вы просто и поле и значение, например:

ContentValues ins_reminder = new ContentValues();
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis());