【问题标题】:How do I substract 60 seconds from a time in angular如何从角度时间中减去 60 秒
【发布时间】:2017-01-04 21:58:46
【问题描述】:

我想创建一个函数,允许我从当前时间减去 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>

我不知道如何从调整后的时间中减去,所以只要你点击按钮,它就会回到过去,它总是使用当前时间。

谢谢!

【问题讨论】:

  • 你可能想要使用 MomentJS,这里有一个 angular directive 。然后你可以做类似moment(t).subtract(60, 'seconds')
  • 感谢您的提示。时刻正在工作,但我如何循环生成的时间?

标签: angularjs time subtraction


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 2014-07-24
    • 2017-05-06
    • 2023-02-22
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多