好的簡單問題(我認爲)。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