Android数据库问题管理日期

时间:2014-03-13 11:49:02

标签: android sqlite

我在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)

如何获得正确的日期?

2 个答案:

答案 0 :(得分:1)

CURRENT_TIMESTAMP将以UTC时区记录当前时间。

使用例如SimpleDateFormat如果您想将日期时间戳设置为其他时区。

答案 1 :(得分:0)

请考虑日间节能时间..这可能是DST存在的问题..这可能是时间的差异。

CREATE TABLE whatever(
     ....
     timestamp DATE DEFAULT (datetime('now','localtime')),
     ...
);