在我的 sqlite 表中,我以这种方式在 GMT 时区的时间戳中存储了一个日期:
CREATE TABLE task (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
date INTEGER,
name TEXT
);
当我查询数据库时,我想用本地时间检索日期,所以:
NSTimeInterval now = [[NSDate date] timeIntervalSince1970];
现在的时间戳是我当地的时区,所以例如,如果有可能我想这样做:
SELECT id,date,name FROM task WHERE converttolocal(date) = now;
我想知道sqlite中是否存在一个函数,例如converttolocal
自动转换时间戳......
编辑
我找到了这个:
strftime('%s',date, 'unixepoch', 'localtime')
但是,例如,如果数据库中的日期 gmt 是:1375660800
那就是:
GMT: Mon, 05 Aug 2013 00:00:00 GMT
在函数 strftime 之后,结果是:1375668000
对应于我的当地时间:
(CEST) Mine time zone: 05 agosto 2013 04:00:00
但我希望 strftime 函数的结果给我这个:1375653600
那就是:
Mine time zone: 05 agosto 2013 00:00:00 CEST
为什么不给我这个结果?