2016-05-11 9 views
0

Also im Grunde habe ich diese HTML-Datei, die eine Liste von Benachrichtigungen anzeigt, und ich möchte den Unterschied zwischen der Zeit für jede Benachrichtigung wissen, aber nicht sicher, wie es in HTMLvergleiche zwei Daten in html angularjs ionic

zu tun
<ion-item ng-repeat="single in notifications_list track by $index" class="ng-scope" ng-class="single.read == true ? 'notification-read' : 'notification-unread'" ng-click="displayNotification(single)" style="padding:13px 16px 1px;"> 
     <div class="notifications"> 
      <p style="white-space:normal;font-size:16px;line-height:20px;">{{single.body}}</p> 
      {{(currentDate - single.time).getDays()}} 
      <time>{{ single.time | amCalendar:referenceTime:formats }}</time> 
     </div> 
    </ion-item> 

ich habe bereits irgendwo in meinem Code erstellt, dass $rootScope.currentDate = new Date();

so e.g. 2016-05-11T10:30:48.616Z - 2016-05-10T19:14:13.487+08:00 dies im Grunde, was ich in hTML-Ansicht tun mag, ist und die Differenz in Tagen zurück.

Wie kann ich das tun? Pls raten

Antwort

0

Ich denke, das wird Ihnen helfen, die Zeit vor AngularJS Plugin vor der Zeit in lesbarer Firmat .... zum Beispiel wie einige Zeit vor ,,,,, Stunden zu zeigen, erlauben ,,,, etc

Link

0

Ich sehe, dass Sie amCalendar verwenden, also nehme ich an, dass Sie bereits das Winkelmoment-Plugin verwenden.

Wenn ja, könnten Sie die amDifference filter

verwenden Also ich denke, Sie so etwas wie tun könnte:

<time>{{ single.time | amDifference : null : 'days' }}</time> 
0

Verwendung use moment.js so Calculation on Dates and Times

<ion-item ng-repeat="single in notifications_list track by $index" class="ng-scope" ng-class="single.read == true ? 'notification-read' : 'notification-unread'" ng-click="displayNotification(single)" style="padding:13px 16px 1px;"> 
    <div class="notifications"> 
     <p style="white-space:normal;font-size:16px;line-height:20px;">{{single.body}}</p> 
     {{getDiff(single.time)}} 
     <time>{{ single.time | amCalendar:referenceTime:formats }}</time> 
    </div> 
</ion-item> 

in Controller:

$scope.getDiff=function(time){ 
var now=moment(); 
return now.diff(time, 'days') 
}; 
0

können Sie angular-duration-format für diesen Zweck verwenden.

Fügen Sie das Winkeldauerformat als App-Abhängigkeit hinzu.

angular.module('myModule', [ 
'angular-duration-format' 
]); 

In Vorlagen können Sie

<p> 
Time passed: {{ passed | duration:'hh:mm:ss:sss' }}<br/> 
Preformatted: {{ passedPre }} 
</p> 

In Controller (oder Richtlinien, Dienstleistungen, überall) verwenden

angular.module('myModule').controller('exampleCtrl', function($scope, $filter) { 
var durationFilter = $filter('duration'); 

$scope.passed = 123456789; 
$scope.passedPre = durationFilter($scope.passed, 'hh:mm:ss:sss'); 

});

Das Ergebnis sollte die in beiden Fällen gleich sein:

Time passed: 34:17:36:789 
Preformatted: 34:17:36:789 
Verwandte Themen