代码之家  ›  专栏  ›  技术社区  ›  rein

将django datefield格式化为iso格式

  •  17
  • rein  · 技术社区  · 15 年前

    我正在使用django提供一些xml。部分要求是我的日期格式如下:1969-12-31T18:33:28-06:00

    如何以那种格式输出django中的datefield?

    4 回复  |  直到 9 年前
        1
  •  5
  •   Amos    10 年前

    如果你在 Django documentation 您将看到支持多种日期格式。基本上在模板中,您需要:

    {{ value|date:"some format string" }} 
    

    其中,格式字符串可以是在上面页面的“日期”下定义的字符串之一,也可以是在链接到上面的页面上的“现在”函数(包括ISO 8601格式)下定义的自定义字符串之一。我假设当您输出到xml时,您的输出方式与普通web页面的模板类似。

    更新(2014年8月)

    如Edgar R的另一个回答所示,从1.2版开始,您现在可以使用内置开关使用格式字符串C以ISO 8601格式输出日期

        2
  •  23
  •   chris    12 年前

    django 1.2中新增了一个模板标记,它将输出您希望的内容:

    {{ value|date:"c"}}
    

    Django template documentation :

    C ISO 8601格式2008-01-02T10:30:00.000123

    从技术上讲,这更接近于 W3-DTF ,但足够接近

        3
  •  7
  •   Patrik Beck    9 年前

    因为django是用python编写的,

    http://docs.python.org/library/datetime.html#datetime.datetime.isoformat

    datetime(2002, 12, 25, tzinfo=TZ()).isoformat()