Как вычесть 60 секунд из времени в угловых

Я хотел бы создать функцию, которая позволит мне вычесть 60 секунд из текущего времени, а затем 60 секунд из этого нового настроенного времени и так далее.

Началось так, но теперь я застрял...

угловой:

 var t = new Date();  
 t.setSeconds(t.getSeconds() - 60); 
 $scope.newt  = t;  
 $scope.newt = $filter('date')(t, "HH:mm");


 $scope.oneminuteless = function() {    
     ??? 
 };

HMTL:

<div>Time {{t}} | New Time: {{newt}}</div>  
<button ng-click="oneminuteless()"><i class="icon icon-chevron-left"></i></button>

Я не знаю, как вычесть из скорректированного времени, чтобы оно возвращалось во времени, пока вы нажимаете кнопку, оно всегда использует текущее время.

Спасибо!

1 ответ

Решение

Если я понимаю, чего вы пытаетесь достичь, вы можете сделать следующее:

контроллер:

$scope.t = new Date();
$scope.newt = new Date($scope.t.getTime() - 60000);

$scope.oneminuteless = function(){
    $scope.newt = new Date($scope.newt.getTime() - 60000);
}

Ваш HTML:

<div>Time {{t | date: 'HH:mm'}} | New Time: {{newt | date: 'HH:mm'}}</div>

Используйте угловой фильтр даты, чтобы показать только часы и минуты

getTime() вернет количество миллисекунд с 1970/01/01.

Рабочий образец https://plnkr.co/edit/2TtLRoVro4ccidxWznlz?p=preview

Другие вопросы по тегам