Django:'unicode'对象没有属性'year'。我需要什么格式的日期/时间?

时间:2013-06-20 10:44:38

标签: python django

我从django中的'unicode' object has no attribute 'year'过滤器收到timesince错误。之前使用此格式的字符串工作正常:"2013-06-20"。但是我现在更新了字符串以包含一个时间元素:"2013-06-20T11:20:05.499274"导致此错误。

我需要什么格式来处理时间元素?或者我是否需要在视图中进行一些额外的处理?

1 个答案:

答案 0 :(得分:1)

timesince filter只接受日期,而不是日期和时间组合。它显示与当前时间的时差(或者可选地,与要比较的传入日期)。

在您的视图中,仅将该字符串解析为其日期组件。如果你已将它作为日期时间对象,只需在其上调用.date()即可获得日期部分。

如果你把它作为一个字符串:

fmt = "%Y-%m-%dT%H:%M:%S.%f"
date_only = datetime.strptime("2013-06-20T11:20:05.499274", fmt).date()