2014-01-21 29 views
0

我试图用我的unix日期在一个下划线js模板中正确的。backbone.js unix日期在underscore.js

在我的模板中,我有两个来自主干视图的unix日期,它们初始化当前模板并将两个日期作为参数传递。

在我的模板中,我现在需要比较两个日期并获得它们之间的多少天。在我看来,我无法做到这一点。我需要在下划线模板中完成。

我正在使用moment.js。

<% collection.each(function(model,index) { %> 
      <% 
       uploaded = moment(new Date(model.get("uploaded_date"))) 
       servertime = moment(now) /*now is passed in as a variable since its not in the collection*/ 
      %> 

      <p> 
       <%= uploaded.diff(servertime, 'days') %> 
      </p> 
<% }); %> 

我试图使用diff(),但我得到的回复是“0” 当我打印的实际日期变量,我得到了正确的UNIX的日期。

任何人都知道这样做吗?

回答

0

我想这个代码和它的工作:

var uploaded = moment(new Date(1391185930000)); 
var servertime = moment(new Date(1390321930000)); // now at the date I wrote that example :) 
alert(uploaded.diff(servertime, 'days')); 

首先尝试添加“;”在两个第一行代码的末尾。

你现在的变量是什么样的?你试过这个'var servertime = moment();'

+0

你不需要用'new Date()'来初始化加密时刻,初始化没有参数的新时刻会产生相同的效果,例如'var servertime = moment();' –

+0

谢谢。事情是tho,即时通讯使用unix日期。所以一个日期看起来像这样,例如:1389610067.而我的now-variable是从服务器端通过json调用来的服务器的时间。 – user3122094

+0

我使用unix date(timestamp)更新了我的答案 –