在SQLite数据库中插入当前日期和时间

时间:2013-03-18 09:25:05

标签: sqlite android-sqlite

我想在SQLite中创建一个表,其中一个字段用于日期,其中当前实例的日期和时间应该保存。我应该使用哪种数据类型?

我打算使用'timestamp'。如何将当前时间戳值插入字段?另外如何为这个日期字段写入内容值?

4 个答案:

答案 0 :(得分:52)

SQLite支持标准SQL变量CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP

INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP)

SQLite中的默认data type for dates/timesTEXT

ContentValues不允许使用通用SQL表达式,只允许使用固定值,因此您必须在Java中读取当前时间:

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

答案 1 :(得分:21)

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

使用此site作为进一步参考。

答案 2 :(得分:3)

要获取当前的本地(系统)时间,请添加“ localtime”选项:

选择datetime('now','localtime');

答案 3 :(得分:1)

我在我的应用中使用了很多时间戳。对我来说,保持时间戳的最佳方法是以毫秒为单位进行转换。之后,很容易将其转换为任何语言环境。

如果需要当前时间,请使用System.currentTimeMillis()。 内容值易于使用,您只需要字段和值,例如:

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