Sqlite:CURRENT_TIMESTAMP是在GMT,而不是机器的时区

前端之家收集整理的这篇文章主要介绍了Sqlite:CURRENT_TIMESTAMP是在GMT,而不是机器的时区前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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')

这似乎工作 – 是正确的方式转换你的时区,还是有更好的方法来做到这一点?

猜你在找的Sqlite相关文章