加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 19:21:06 所属栏目:百科 来源:网络整理
导读:我有一个sqlite(v3)表与此列定义: "timestamp" DATETIME DEFAULT CURRENT_TIMESTAMP 此数据库所在的服务器位于CST时区。当我插入我的表,而不包括时间戳列,sqlite自动填充该字段与当前时间戳在GMT,而不是CST。 有没有办法修改我的插入语句强制存储的时间
我有一个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')

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读