Просто поясним, что для смещения часового пояса требуется двоеточие, т. Е. 2009-11-29T14:33:59-0600
в приведенном выше примере должно быть 2009-11-29T14:33:59-06:00
, чтобы соответствовать рекомендациям W3C.
Глядя на код на django/utils/dateformat.py
:
def O(self):
"Difference to Greenwich time in hours; e.g. '+0200'"
seconds = self.Z()
return u"%+03d%02d" % (seconds // 3600, (seconds // 60) % 60)
Вы можете отредактировать вашу локальную копию django , чтобы добавить ':' so; return u"%+03d:%02d" % (seconds // 3600, (seconds // 60) % 60)
или создайте свой собственный шаблонный тег, чтобы эффективно делать то же самое. Но, вероятно, проще всего составить строку в вашем представлении и передать ее в качестве переменной в шаблон.
Не похоже, что версия часового пояса для HTML5 доступна сразу после установки.
[обновление]
Если подумать, вы, вероятно, могли бы сделать это;
>>> from django.utils import dateformat
>>> fmt = "Y-m-d\TH:i:sO"
>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2009, 12, 1, 12, 39, 48, 655867)
>>> str = dateformat.format(now, fmt)
>>> print str
2009-12-01T12:39:48+0000
>>>
и затем добавьте ':'
>>> s = str[:-2] + ':' + str[-2:]
>>> s
u'2009-12-01T12:39:48+00:00'
>>>