Sqlite:select('now')无法按预期工作

时间:2015-12-02 04:30:07

标签: android sqlite date select

我想从yyyy-MM-dd获取SQLite的当前日期,我使用以下查询:

***SELECT date('now')***

但不是返回当前日期,而是从今天开始返回第二天。

例如,今天(2015-12-01)我运行查询并返回(2015-12-02)。

我做错了什么?

Image running query + calendar

1 个答案:

答案 0 :(得分:2)

sqlite日期和时间函数在内部使用UTC时区。在UTC中,日期已经是2015-12-02。

如果要使用其他时区,则需要明确指定,例如

select date('now','-05:00');

我建议在数据库层中使用UTC毫秒时间戳,并在应用程序代码中使用时区调整等日期格式的表示逻辑。

参考:https://www.sqlite.org/lang_datefunc.html