繁体   English   中英

如何在AngularJS中从当前时间减去一些小时

[英]How to subtract some Hours from current Time in AngularJS

我正在为我的应用程序使用AngularJS,日期对象是$ scope.ProductionDate。

从2017年2月21日5:00 AM(2月21日)至2017年2月22日4:59 AM(2月22日)

我希望ProductionDate的值为2017-02-21。

PS这里2月21日只是一个示例。 每天我都希望在给定的时间段具有相同的值。

我能知道该怎么做吗?

 function Ctrl($scope) { $scope.ProductionDate = new Date(); } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app ng-controller="Ctrl"> ProductionDate: {{ProductionDate | date:'yyyy-MM-dd'}}<br/> </div> 

您可以从Date()对象中减去javascript中的分钟和小时。

function Ctrl($scope)
{
    var now = new Date();
    now.setHours(now.getHours()-4);
    now.setMinutes(now.getMinutes()-59);
    $scope.ProductionDate = now;
}

您似乎要减去5小时,以便显示较早的日期。 这是一条SO帖子,解释了如何修改Date对象: 向Javascript Date对象添加小时数? (不要管标题-您可以使用相同的原理减去小时数)。

也可以通过设置所需的时区来完成相同的操作。

只需检查日期时间是否在0到5之间

function Ctrl($scope)
{
    var now = new Date();
    if(now.getHours() < 5 && now.getHours() >= 0){
        // Subtract one day
        now.setDate(now.getDate() - 1);
    }
    $scope.ProductionDate = now;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM