代码之家  ›  专栏  ›  技术社区  ›  Ankit Jaiswal

django模板:如何显示数据存储时间和当前时间之间的时间差?

  •  2
  • Ankit Jaiswal  · 技术社区  · 15 年前

    我正在做一个django-google应用引擎项目。用户插入一些值,并且使用Google应用引擎datetime属性(auto_now_add=true)自动填充datetime字段。现在,我必须在模板上显示这个时间和用户查看结果时的当前时间之间的差异。

    例如,如果插入时间为5:00,而用户在6:00查看帖子,则结果应为1小时。Django模板中是否有内置过滤器可以执行相同的操作?我试过的时间是:

    {{ topic.creation_date| timesince: now }}
    

    其中创建日期是日期时间字段。但它不起作用。

    请建议。

    事先谢谢。

    2 回复  |  直到 15 年前
        1
  •  13
  •   Daniel Roseman    15 年前

    在您的上下文中有一个名为“now”的变量吗?如果不是,那就失败了。

    但是,您实际上不需要,因为如果您调用 timesince 不带参数筛选,将使用当前时间。所以就这样做:

    {{ topic.creation_date|timesince }}
    
        2
  •  1
  •   damir    15 年前

    为什么不使用time.time()?对于创建日期,首先必须将给定的行插入数据库。这意味着你可以读。

    from datetime import timedelta
    
    yourmodel.save()
    
    cdate= yourmodel.creation_date
    
    seconds = time.time() - time.mktime(cdate.timetuple())
    timediff = str(timedelta(seconds=seconds))