SQLite存储当前日期,时间默认设置为00:00:00

时间:2015-01-23 20:24:09

标签: sqlite android-sqlite unix-timestamp

我有一个SQLite表,其中一列是:

timestamp long DEFAULT CURRENT_TIMESTAMP NOT NULL

它在数据库中存储UTC日期和时间以及时间。由于时间对我来说并不重要,如何通过defaut设置为00:00:00的时间来存储它?

2 个答案:

答案 0 :(得分:1)

您应该使用:

timestamp long DEFAULT CURRENT_DATE NOT NULL

顺便说一下 - 你知道这种格式是作为文本存储的(你可能会看到here)吗?在许多情况下,特别是当你有理由索引这个字段时,它会更有效率使用INTEGER时,只需注意并在插入/更新时放置低级长日期/时间表示

答案 1 :(得分:1)

built-in date functions允许以您希望的方式修改日期值:

timestamp text DEFAULT (date('now', 'start of day')) NOT NULL

如果要将值存储为数字,可以进行适当的转换:

timestamp long DEFAULT (strftime('%s', 'now', 'start of day')) NOT NULL