我设置了settings.TIME_ZONE = Europe/Paris
。
在django中,我得到这样的日期:dates = (...).values_list('started_at', flat=True)
但结果日期以UTC为单位。
datetime.datetime(2018, 11, 28, 2, 23, 54, 361753, tzinfo=<UTC>)
如何在不转换所有日期的情况下获取本地时间的日期?
from django.utils.timezone import localtime
dates = [localtime(d) for d in dates]
答案 0 :(得分:0)
数据库中的值将始终为UTC。如documentation中所述:
启用时区支持后,Django将日期时间信息存储在数据库中的UTC中,在内部使用可识别时区的日期时间对象,并将其转换为模板和表格形式的最终用户时区。
因此,如果您想在Python代码中使用本地时间,则确实需要按照您的描述自行进行转换。