2014-01-21 3 views
0

Я пытаюсь сделать это правильно с моими датами unix в шаблоне js подчёркивания.backbone.js unix date in 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> 
<% }); %> 

Я пытаюсь использовать различие(), но все, что я вернусь в «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')); 

Первая попытка добавить «;» в конце двух первых строк кода.

Как выглядит ваша переменная 'now'? Вы пробовали это «var servertime = moment();»

+0

Вам не нужно инициализировать секундомер с помощью 'new Date()', инициализация нового момента без параметров имеет тот же эффект, например. 'var servertime = moment();' –

+0

Спасибо. Дело в том, что я работаю с датой unix. поэтому дата выглядит так: 1389610067. Теперь моя переменная - это время сервера, исходящее с сервера на json-call. – user3122094

+0

Я обновил свой ответ, используя дату unix (timestamp) –

Смежные вопросы