【问题标题】:How to format dateTime in django template?如何在 django 模板中格式化 dateTime?
【发布时间】:2010-11-13 21:38:25
【问题描述】:

那个:

{{ wpis.entry.lastChangeDate|date:"D d M Y" }}

给我(为什么?):

2009-07-24 21:45:38.986156 

我不知道如何跳过小数部分...

在我的模型中,我有:

addedDate = models.DateTimeField(default=datetime.now)

【问题讨论】:

  • 当然有,这里是所有行
  • {{ wpis.entry.UserID.username }} @ [{{ wpis.entry.lastChangeDate|date:"D d MY" }} ]
  • 奇怪,它对我有用。你确定你的 lastChangeDate 是 Django DateTime 吗?
  • 这是为 addedDate 而不是 lastChangeDate,这就是我想知道的原因。
  • 标签: django django-models


    【解决方案1】:

    {{ wpis.entry.lastChangeDate|date:"SHORT_DATETIME_FORMAT" }}

    【讨论】:

      【解决方案2】:

      这正是您想要的。试试这个:

      {{ wpis.entry.lastChangeDate|date:'Y-m-d H:i' }}
      

      【讨论】:

      【解决方案3】:

      你可以用这个:

      addedDate = datetime.now().replace(microsecond=0)

      【讨论】:

        【解决方案4】:

        我怀疑wpis.entry.lastChangeDate 在到达模板之前已经以某种方式在视图中转换为字符串。

        为了验证这个假设,你可以在视图中检查它是否有一些只有字符串才有的属性/方法——比如wpis.entry.lastChangeDate.upper,然后看看模板是否崩溃。

        您也可以创建自己的custom filter,并将其用于调试目的,让它检查对象,并将检查结果写在页面上,或者只是在控制台上。它将能够检查对象,并检查它是否真的是 DateTimeField。

        在一个不相关的通知上,你为什么不使用models.DateTimeField(auto_now_add=True) 来设置创建日期时间?

        【讨论】:

          猜你喜欢
          相关资源
          最近更新 更多
          热门标签