我有:
TIME_ZONE = 'Europe/Paris'
USE_L10N = True
USE_TZ = True
在我的settings.py文件中。我住在伊斯坦布尔/土耳其,巴黎和伊斯坦布尔之间有一个小时的差别。
在管理员方面选择日期时,django会正确显示1小时的差异。使用模板标签我得到了我在管理员中设置的日期时间。
但是当我通过python使用beginning_date.strftime("%H:%M")
python substracts传递datetime时,距离通过admin设置的值1小时是不正确的。
我该如何解决这个问题?
答案 0 :(得分:1)
使用Django模板defaultfilters在Python代码中格式化日期。
from django.template.defaultfilters import date as _date
_date(datetime_object, "%H:%M")
而且,可能相关:Django无法在Windows中可靠地使用备用时区。 See documentation
答案 1 :(得分:0)
我不认为土耳其与此有任何关系。
我的猜测是,您所看到的一小时差异在巴黎时区之间 - 默认情况下用于解释和显示日期 - 和UTC - 用于存储{{1} },以及从数据库返回的datetime
的时区。
如果这是正确的,那么您只需使用django.utils.timezone.localtime
将datetime
转换为当前时区(默认情况下为datetime
):
TIME_ZONE