首页 > 解决方案 > 如何从angularjs获取天数

问题描述

如何获取两个日期之间的天数但它不起作用我认为我的日期格式不正确但如何更改日期格式并获取天数

$scope.ChangeDate = function () {      
    var oneDay = 24 * 60 * 60 * 1000;
    var firstDate = $scope.Current.PlainnedStart;
    var secondDate = $scope.Current.PlainnedEnd;
    if (!angular.isUndefined(firstDate) && !angular.isUndefined(secondDate)) {
        var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime()) / (oneDay)));
        alert(diffDays);
        $scope.Current.NOD = ++diffDays;          
    }
}

在此处输入图像描述


<input type="text" onchange="angular.element(this).scope().ChangeDate()"
       id="date" ng-model="Current.PlainnedStart"
       class="floating-label mdl-textfield__input" placeholder=""> 

标签: javascriptangularjsangularjs-scope

解决方案


您可以使用

<input class="form-control" ng-model="day1" ng-blur="getDate(day1)" type="text" readonly />


$scope.getDate= function (date) {
var dates = new Date();
console.log(dates);
}

您可以使用带有日期事件的 momentjs 轻松管理

var a = moment('2018-04-17T07:00:00.000Z');
var b = moment('2018-04-27T07:00:00.000Z'); 
var days = b.diff(a, 'days');

http://momentjs.com/

或使用 Javascript

var a = new Date("2018-04-17T07:00:00.000Z"); 
var b = new Date("2018-04-27T07:00:00.000Z");
var dayDif = (a - b)  / 1000 / 60 / 60 / 24;

推荐阅读