В моей Firebase у меня есть:Добавить время на сегодняшний день с угловой
Firebase generated date for a created day.
Terms set by the user when the above was generated.
Так, например, у меня есть:
1439612582756 // formats to: Aug 14, 2015
15 // Formats to: "Net 15" in my code
Мой код выглядит следующим образом:
<td>{{invoice.settings.created | date}}</td>
<td>{{invoice.settings.created + invoice.settings.terms | date}}</td>
У меня есть установили moment.js
и «angular-moment.js», чтобы иметь возможность форматировать и играть с датами, но я не видел способа добавить время до даты. Это для каждого для каждого, поэтому я не хочу делать никаких предварительных сценариев для этого. Может быть, пользовательский фильтр, чтобы добавить условия к дате?
Очевидно, что мой код выше не работает. Я просто сделал это, чтобы продемонстрировать, чего я хочу.
Любая помощь будет оценена!
UPDATE
Используя эту страницу: http://momentjs.com/docs/#/durations/add/
Я придумал этот фильтр:
.filter('dateTerms', function() {
return function(created, terms) {
var a = moment.duration(created, 'd');
var b = moment.duration(terms, 'd');
return a.add(b).days();
}
})
Но когда я это называю, я всегда в конечном итоге только с 0
?
<td>{{invoice.settings.created | date}}</td>
<td>{{invoice.settings.terms | dateTerms}}</td> // This line
Я предполагаю, что это потому, что я передаю только фильтры, а не созданную дату. Как бы вы передали две переменные? Я думаю, что я все ближе ....
UPDATE 2
Я выбросил моменты дерьмо. Это то, что я сейчас:
.filter('dateTerms', function() {
return function(input, created) {
var date = new Date(created*1000);
date.setDate(date.getDate() + input);
return (date.getMonth()+1)+'/'+ date.getDate() +'/'+date.getFullYear();
}
})
, а затем в моем HTML:
<td>{{invoice.settings.terms | dateTerms:1439746291480}}</td>
1439746291480 converts to `Aug 16, 2015`
Это приводит к:
8/24/47601
у вас здесь есть несколько вещей; в частности, 'created' не является« длительностью », это« момент »во времени (фиксированный). Этот расчет не даст ожидаемых результатов. Кроме того, вы не используете правильный синтаксис для вызова этого фильтра. – Claies
К. Ну, это совсем не помогло. – moevans
@Claies Проверьте обновление 2 на вопрос. – moevans