Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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-datetime.now()返回不正确的时间_Python_Datetime_Python Datetime - Fatal编程技术网

Python-datetime.now()返回不正确的时间

Python-datetime.now()返回不正确的时间,python,datetime,python-datetime,Python,Datetime,Python Datetime,我想在数据库中存储操作的时间戳。问题是我从datetime.datetime.now()获得的时间不正确(我想这是由于时区的原因)。我尝试使用python在终端中获取值,得到了正确的结果 import datetime datetime.datetime.now()//correct time 但是,如果我在问题执行期间打印结果,则输出不正确,结果提前两小时 为什么终端给了我正确的时间,而程序实例没有,我如何在程序中得到正确的时间 编辑: 来自终端的日期时间: 2018-08-30 17:4

我想在数据库中存储操作的时间戳。问题是我从
datetime.datetime.now()
获得的时间不正确(我想这是由于时区的原因)。我尝试使用python在终端中获取值,得到了正确的结果

import datetime 
datetime.datetime.now()//correct time
但是,如果我在问题执行期间打印结果,则输出不正确,结果提前两小时

为什么终端给了我正确的时间,而程序实例没有,我如何在程序中得到正确的时间

编辑: 来自终端的日期时间:

2018-08-30 17:41:04.413187
来自程序实例的日期时间:

2018-08-30 14:42:31.761310
编辑:

我在运行程序时注意到了这个警告

RuntimeWarning: DateTimeField Policy.last_update received a naive datetime (2018-08-30 15:16:23.689896) while time zone support is active.
  RuntimeWarning)

尝试此操作,根据您所在的时区调整小时数:

import datetime 

datetime.datetime.utcnow()+datetime.timedelta(hours=3)

在终端和脚本中,
datetime.datetime.now().tzinfo
的结果是什么?您是否安装了多个版本的python?在terminal中,我获得datetime。datetime对象没有属性“tz_info”,它在脚本中返回None,我也从terminal获得None:“2.7.10(默认,2017年10月6日,22:29:07)\n[GCC 4.2.1兼容的Apple LLVM 9.0.0(clang-900.0.31)],来自程序:2.7.10(默认,2017年10月6日,22:29:07)[GCC 4.2.1兼容苹果LLVM 9.0.0(clang-900.0.31)]