我在sqlite数据库中创建了一个类似这样的表:
CREATE TABLE users(
id INTEGER PRIMARY KEY,
username TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
当我在此表中插入数据时,会自动设置日期字段。
当我尝试检索插入行的内容时。
c.getString(c.getColumnIndex("created_at")));
其中c是Cursor。
我检索的日期比正确日期晚1小时。考虑一下我在意大利(UTC + 1.00)
如何获得正确的日期?
答案 0 :(得分:1)
CURRENT_TIMESTAMP
将以UTC时区记录当前时间。
使用例如SimpleDateFormat
如果您想将日期时间戳设置为其他时区。
答案 1 :(得分:0)
请考虑日间节能时间..这可能是DST存在的问题..这可能是时间的差异。
CREATE TABLE whatever(
....
timestamp DATE DEFAULT (datetime('now','localtime')),
...
);