好的简单问题(我认为)。date_format Django 1.4正确时区
我有一个DateTime字段(auto_add_now),当输出模板
{{ edited|date:"DATETIME_FORMAT" }}
我得到预期的结果“2012年9月16日,下午12时01分”
但不幸的是,由于我使用的是Backbone.js,并且需要使用JSON传递日期时间,并且由于它仅用于显示目的,我决定将它作为一个很好的区域设置格式化的字符串传递。所以我深入了解代码并发现了模板标签的用途,这就是我所设置的。 2012年9月16日下午5点01分“。
我有一种感觉它与模板上的标签下面做
@register.filter(expects_localtime=True, is_safe=False)
我也试过,但结束了相同的结果
from django.utils import timezone
tz = timezone.get_current_timezone()
logger.info(tz)
logger.info(self.edited)
logger.info(format(self.edited, 'DATETIME_FORMAT'))
logger.info(self.edited.replace(tzinfo=tz))
logger.info(format(self.edited.replace(tzinfo=tz), 'DATETIME_FORMAT'))
这给了我这个
INFO: America/Chicago
INFO: 2012-09-16 17:01:52.921276+00:00
INFO: Sept. 16, 2012, 5:01 p.m.
INFO: 2012-09-16 17:01:52.921276-06:00
INFO: Sept. 16, 2012, 5:01 p.m.
所以是的,我一定是失去了一些东西,我一直在上下django文档和c annot找到任何可能指向我所做错误的事情。谢谢你的帮助。
我曾想过这一点,但不想因为这会复杂化我的客户端代码,当前的日期只是用于显示目的,并与骨干自动显示。 js/underscore.js模板以及其他六个字符串字段和编码条件来处理日期似乎是额外的工作。 (如果找不到更好的解决方案,我会接受这个答案,因为它可能是唯一的方法) – byoungb