rsp*_*rsp 2 django django-templates django-filter
我有一个带有两个TimeFields的模型.我想在模板中显示时差(即27分钟).我看到了过滤器的时间,但它不起作用; 我认为它只接受日期时间,但我的模型只存储时间.
对@HAL的回应:
'datetime.time' object has no attribute 'year'
Exception Location: C:\Python27\lib\site-packages\django\utils\timesince.py in timesince, line 32
Run Code Online (Sandbox Code Playgroud)
如果您知道两个时间戳对应的日期和时区,则只能比较它们。该类datetime.time仅包含时间。我强烈建议您在这种情况下考虑使用 a DateTimeField(它使用datetime.datetime)。
如果您确定两个datetime.time对象具有相同的日期和时区,那么您可以向模型添加方法,如下所示:
import datetime
from django.utils.timesince import timesince
class MyModel(models.Model):
...
def get_time_diff(self):
dummydate = datetime.date(2000,1,1) # Needed to convert time to a datetime object
dt1 = datetime.combine(dummydate,self.t1)
dt2 = datetime.combine(dummydate,self.t2)
return timesince(dt1, dt2) # Assuming dt2 is the more recent time
Run Code Online (Sandbox Code Playgroud)
这里时间值使用任意日期升级为日期时间值。您可以从模板中调用它作为{{ obj.get_time_diff }}。
| 归档时间: |
|
| 查看次数: |
7065 次 |
| 最近记录: |