我有一个sqlite(v3)表与此列定义:
"timestamp" DATETIME DEFAULT CURRENT_TIMESTAMP
此数据库所在的服务器位于CST时区。当我插入我的表,而不包括时间戳列,sqlite自动填充该字段与当前时间戳在GMT,而不是CST。
有没有办法修改我的插入语句强制存储的时间戳在CST?另一方面,它最好是存储在GMT(例如,数据库被移动到不同的时区,例如),所以有一种方法,我可以修改我的选择sql转换存储的时间戳为CST当我从表中提取它?
我在sqlite文档(
https://www.sqlite.org/lang_datefunc.html)上找到这个文本:
Compute the date and time given a unix
timestamp 1092941466,and compensate
for your local timezone.
SELECT datetime(1092941466,'unixepoch','localtime');
这看起来不符合我的需要,所以我试着改变“datetime”函数有点,并结束了这一点:
select datetime(timestamp,'localtime')
这似乎工作 – 是正确的方式转换你的时区,还是有更好的方法来做到这一点?