Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sqlite时区现在_Python_Sqlite_Timezone_Dst - Fatal编程技术网

Python sqlite时区现在

Python sqlite时区现在,python,sqlite,timezone,dst,Python,Sqlite,Timezone,Dst,我正在使用python和sqlite3来处理一个网站。我需要所有时区都是本地时间,我需要考虑夏令时。理想的方法是使用sqlite将全局日期时间(“now”)设置为+10小时 如果我能用命令解决如何更改sqlite的'now',那么我将使用cronjob来调整它(如果有人有,我很乐意使用更简单的方法,但cronjob并不太难)我不是100%同意你的要求,但为了保持简单,我会说用UTC存储日期,如有必要,以当地时间为准: sqlite> select datetime('now', 'utc'

我正在使用python和sqlite3来处理一个网站。我需要所有时区都是本地时间,我需要考虑夏令时。理想的方法是使用sqlite将全局日期时间(“now”)设置为+10小时


如果我能用命令解决如何更改sqlite的'now',那么我将使用cronjob来调整它(如果有人有,我很乐意使用更简单的方法,但cronjob并不太难)

我不是100%同意你的要求,但为了保持简单,我会说用UTC存储日期,如有必要,以当地时间为准:

sqlite> select datetime('now', 'utc');
2012-07-21 09:58:21
sqlite> select datetime('now', 'localtime');
2012-07-21 13:58:33

请参阅SQLite。

我并不是100%同意您的要求,但为了保持简单,我建议将您的日期存储在UTC中,并在需要时显示为当地时间:

sqlite> select datetime('now', 'utc');
2012-07-21 09:58:21
sqlite> select datetime('now', 'localtime');
2012-07-21 13:58:33

请参阅SQLite。

您可以尝试此代码,我在台湾,因此我添加了8小时:


DateTime('now','+8小时')
你可以试试这个代码,我在台湾,所以我加了8小时:


DateTime('now','+8小时')

为什么您不能在启用use_z的情况下使用timezone.now?为什么需要在数据库中修改datetime.now?如果所有的东西都是UTC,那么你可以在任何地方进行简单的转换。我没有使用django,我只想在一个区域使用它。啊,误读,对不起。有太多类似的组件为什么不能只使用时区。现在启用了use_TZ?为什么需要在数据库中修改datetime.now?如果所有的东西都是UTC,那么你可以在任何地方进行简单的转换。我没有使用django,我只想在一个区域使用它。啊,误读,对不起。有太多相似的部件。第一部分是正确的。但是第二种方法最终只会在服务器的本地时间将它们取回(如果OP需要的话)。对于客户端localtime,您可能会将UTC发送到网页,并让javascript将其转换为localtime。这是一个简单的演示,演示了sqlite的函数如何允许双向运行,仅此而已。这是我最初的想法,但我听说localtime不支持夏令时。这是真的吗?localtime基本上是UTC加上本地时区的偏移量,因此如果该时区是EDT(eastearn daylight),则获取localtime将向UTC添加-4,而对于EST,则添加-5。我不知道你说的localtime不支持夏令时是什么意思。第一部分是正确的。但是第二种方法最终只会在服务器的本地时间将它们取回(如果OP需要的话)。对于客户端localtime,您可能会将UTC发送到网页,并让javascript将其转换为localtime。这是一个简单的演示,演示了sqlite的函数如何允许双向运行,仅此而已。这是我最初的想法,但我听说localtime不支持夏令时。这是真的吗?localtime基本上是UTC加上本地时区的偏移量,因此如果该时区是EDT(eastearn daylight),则获取localtime将向UTC添加-4,而对于EST,则添加-5。我不知道你说的localtime不支持夏令时是什么意思。