2015-12-02 55 views
0

(“现在”)我想从SQLite获取当前日期为yyyy-MM-dd,我用下面的查询:但SQLite的:选择不按预期工作

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

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

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

我做错了什么?

Image running query + calendar

+0

是您的实例设置为你自己的时区,或者也许对于UTC/GMT? –

+0

是的,它被设置为我的时区利马GMT/UTC - 05:00小时 – chambito

回答

2

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

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

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

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

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

+0

谢谢,你是对的。现在我使用SELECT date('now','localtime')来获取我的时区的当前日期。 – chambito