[英]Python - datetime.now() returns incorrect time
我想在我的数据库中存储一个操作的时间戳。 问题是我从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)
这对我有用:
import pytz
import datetime
timezone = pytz.timezone('Europe/Madrid')
now = datetime.datetime.now(tz = timezone)
安装 pytz: pip install pytz
获取所有时区: print(pytz.all_timezones)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.