骨干js。比较日期

时间:2014-01-22 09:36:34

标签: javascript backbone.js date-format

我正在使用骨干网中的underscore.js模板。在模板中,我在unix时间收到日期。我将它们乘以1000将它们转换为日期。

在循环中我试图比较它们。我想查看它们之间的天数。 我希望能够打印不同的html,具体取决于日期之间的差异是多少还是少于5天。

因此,如果不到5天前它上传我想打印一些HTML。如果不是我想打印其他一些HTML。

我该怎么做?有谁知道吗?

<% collection.each(function(model,index) { 

    var a = moment(new Date(model.get("uploaded_date")*1000)); /*represents when the item got uploaded/approved*/
    var b = moment(new Date(now)*1000); /*represents the server time*/
    var diff = b.diff(a, 'days');

    %>

    <div class="content">
        <% if(diff<5) { %>

            /*doesn't work*/

        <% } %>   
    </div>

<% }); %>

1 个答案:

答案 0 :(得分:0)

试试这个:

var b = moment(new Date(now*1000)); /*represents the server time*/

而不是:

var b = moment(new Date(now)*1000); /*represents the server time*/

默认情况下,moment#diff将返回向下舍入的数字。如果需要浮点数,请将true作为第三个参数传递:

var diff = b.diff(a, 'days', true);