SQLite中的UTC时间错误
我的Centos 7.6服务器物理上位于德国,但经过配置,可以为我(在伦敦)提供正确的本地时间和UTC时间SQLite中的UTC时间错误,sqlite,utc,localtime,Sqlite,Utc,Localtime,我的Centos 7.6服务器物理上位于德国,但经过配置,可以为我(在伦敦)提供正确的本地时间和UTC时间 $ date Tue Jul 16 08:31:51 BST 2019 $ date -u Tue Jul 16 07:31:55 UTC 2019 但在SQLite数据库中,情况并不正确 $ !sql sqlite3 apollo.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions E
$ date
Tue Jul 16 08:31:51 BST 2019
$ date -u
Tue Jul 16 07:31:55 UTC 2019
但在SQLite数据库中,情况并不正确
$ !sql
sqlite3 apollo.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select datetime('now');
2019-07-16 07:32:48
sqlite> select datetime('now', 'localtime');
2019-07-16 08:32:53
sqlite> select datetime('now', 'utc');
2019-07-16 06:32:58
它正确地显示了当地时间,但UTC是一小时以外的时间。是否有一个配置设置,我可以调整来解决这个问题
更新:正常。仔细阅读后,我似乎误解了,这种行为是a)正确的,b)预期的<代码>选择日期时间(“现在”)是获取UTC时间的正确方法。所以现在我只是有点困惑,selectdatetime('now','utc')
在做什么(可能没有什么用处)
更新:好的。仔细阅读了文档后,我似乎误解了,这种行为是a)正确的,b)预期的。选择datetime(“now”)是获取UTC时间的正确方法。所以现在我对selectdatetime(‘now’、‘utc’)在做什么感到有点困惑(可能没什么用处)
示例前的最后一段解释如下:-
“utc”修饰符是与“localtime”相反的
“utc”假定其左侧的字符串位于本地时区,并将该字符串调整为utc
如果前面的字符串不在本地时间中,则“utc”的结果未定义
utc修饰符与localtime相反。“utc”假定其左侧的字符串位于本地时区,并将该字符串调整为utc。如果前面的字符串不在localtime中,则“utc”的结果未定义@米凯特:谢谢你的解释。如果你把它作为答案贴出来,我会接受的。