关于sqlite:Android数据库问题管理日期

Android database issue managing date

我在sqlite数据库中创建了一个表,如下所示:

1
2
3
4
5
CREATE TABLE users(
    id INTEGER PRIMARY KEY,
    username TEXT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

当我在此表中插入数据时,会自动设置日期字段。

当我尝试检索插入行的内容时。

1
c.getString(c.getColumnIndex("created_at")));

其中c是光标。

我检索的日期比正确日期晚1小时。 考虑一下我在意大利(UTC + 1.00)

我怎样才能获得正确的日期?


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

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


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

1
2
3
4
5
CREATE TABLE whatever(
     ....
     timestamp DATE DEFAULT (datetime('now','localtime')),
     ...
);