Je crains que vous ne pouvez pas acheive ce dont vous avez besoin en utilisant un filtre date
angulaire.
Vous pouvez créer votre filtre personnalisé (ici angular official guide) et générer le résultat dans le format dont vous avez besoin.
Par exemple, vous pouvez créer un moment duration en utilisant moment.duration(3361, 'minutes');
puis utilisez moment-duration-format pour obtenir la durée dans le format HH:mm:ss
.
Voici un exemple vivant complet:
angular.module('MyApp', [])
.filter('durationFormat', function() {
return function(input) {
input = input || '';
var out = '';
var dur = moment.duration(input, 'minutes');
return dur.format('HH:mm:ss');
};
})
.controller('AppCtrl', function($scope) {
$scope.myTime = 3361;
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>
<div ng-app="MyApp" ng-controller="AppCtrl">
{{ myTime | durationFormat }}
</div>
Une autre façon d'obtenir la même sortie utilise angular-moment-duration-format qui a des filtres à utiliser et la durée d'affichage moment. Vous pouvez créer votre durée en utilisant amdCreate
en spécifiant l'unité 'minutes'
, puis la formater en utilisant amdFormat
.
Voici un exemple:
angular.module('MyApp', ['angularDurationFormat'])
.controller('AppCtrl', function($scope) {
$scope.myTime = 3361;
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>
<script src="https://cdn.rawgit.com/vin-car/angular-moment-duration-format/0.1.0/angular-moment-duration-format.min.js"></script>
<div ng-app="MyApp" ng-controller="AppCtrl">
{{ myTime | amdCreate:'minutes' | amdFormat:'HH:mm:ss' }}
</div>
PS. Je suis le créateur de angular-moment-duration-format.
Vous pouvez utiliser MomentJS pour cela: https://momentjs.com/docs/#/durations/ –
votre date régulière ne va pas travailler parce que l'OP veut heures> 24. – mehulmpt
Oui, c'est le problème que j'ai besoin un conseil pour utiliser l'heure> 24 –