簡単な質問です(私は思います)。
DateTimeフィールド(auto_add_now)があり、テンプレートに出力するとき
{{ edited|date:"DATETIME_FORMAT" }}
「2012年9月16日12:01pm」という期待通りの結果が得られました
しかし、残念ながら、Backbone.jsを使用していて、JSONで日時を渡す必要があるため、状況は少し複雑になります。また、表示目的でのみ使用されるため、ロケール形式の文字列として渡すことにしました。そこで、コードを掘り下げて、テンプレートタグが何を使用しているかを見つけました。これが、私が設定したものです。
from django.utils.formats import date_format
return {
'created': date_format(self.created, 'DATETIME_FORMAT'),
}
しかし、それはこの「2012年9月16日午後5時1分」で終わります
テンプレートタグの以下と関係がある気がします
@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のドキュメントを上下に移動していて、自分が間違っていることを指摘できるものを見つけることができません。助けてくれてありがとう。