2014-01-22 4 views
0

Im работает над шаблоном underscore.js в позвоночнике. В шаблоне я получаю даты в unix time. Я конвертирую их в дату, умножая их на 1000.магистраль js. сравнить даты

В цикле ими пытаются их сравнить. Я хочу проверить, сколько дней прошло между ними. Я хочу, чтобы иметь возможность печатать различные 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> 

<% }); %> 
+0

Что дает console.log (diff)? –

+0

Предполагается дать мне разницу между «a» и «b» в днях (число). Как 1,5 или 7 и так далее. Но его немного. где он должен дать мне 2, я получаю 1. Например: если «одобрен» установлен на дату два дня назад, я получаю один. И я также получаю один, если его набор вчера. – user3122094

+0

Не помещайте логин в свои шаблоны, создавайте метод на своей модели или вспомогательную функцию. – pleasedontbelong

ответ

0

Попробуйте это:

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

вместо:

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

По умолчанию момент # дифф будет возвращать число округляется вниз. Если вы хотите число с плавающей запятой, передайте true в качестве третьего аргумента:

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

Спасибо! У меня все еще такая же проблема при сравнении дат. – user3122094

+0

Проблема в том, что я хочу печатать, сколько дней прошло между двумя датами. И проверьте, есть ли у них более 5 дней между ними. Мне также нужно немного повернуть его. Если в течение 0 дней между датами элемент должен быть активным в течение 5 дней. и если его 5 дней между ними, то idem должен получить «неактивный». (разные классы я добавляю). – user3122094

+0

Можете ли вы добавить значения 'model.get ("uploaded_date")' и 'now'? –

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