我的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
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却是一个小时。有没有可以调整的配置设置?
更新:好的。仔细阅读the documentation后,似乎我误会了,这种行为是a)正确的,b)预期的。 select datetime('now')
是获取UTC时间的正确方法。所以现在我对select datetime('now', 'utc')
所做的事情有点困惑(可能没什么用)。
答案 0 :(得分:1)
更新:好的。仔细阅读文档后,似乎我误会了,此行为是a)正确和b)预期的。选择datetime('now')是获取UTC时间的正确方法。所以现在我对选择datetime('now','utc')所做的工作有些困惑(可能没什么用)。
示例之前的最后一段解释为:-
“ utc” 修饰符与“本地时间” 的相反。
“ utc”假定其左侧的字符串位于本地时区,并将该字符串调整为UTC。
如果先前的字符串不在本地时间,则未定义“ utc”的结果。