使用angular和jQuery datepicker计算天差

时间:2014-10-30 09:24:29

标签: jquery angularjs datepicker

在角度,我试图使用jQuery datepicker计算两个选定日期之间的天数。它只使用我正在使用的函数返回null ..

但是我不太确定它是函数还是在angular中使用了datepicker。看起来这个问题是函数,但是当我和jQuery一起使用它时它会起作用。

我的职能:

$scope.dayDiff = function(firstDate,secondDate){

    $scope.dayDifference = parseInt(Math.round((secondDate - firstDate) / (1000 * 60 * 60 * 24)));;
}

其余的:http://jsfiddle.net/1mzgLywe/5/

提前致谢!

2 个答案:

答案 0 :(得分:7)

这是工作小提琴,请检查link to fiddle

创建一个函数,让dateString传递给new Date()

$scope.formatString = function(format) {
    var day   = parseInt(format.substring(0,2));
    var month  = parseInt(format.substring(3,5));
    var year   = parseInt(format.substring(6,10));
    var date = new Date(year, month-1, day);
    return date;
}

修改dayDiff功能,如下所示,

$scope.dayDiff = function(firstDate,secondDate){
    var date2 = new Date($scope.formatString(secondDate));
    var date1 = new Date($scope.formatString(firstDate));
    var timeDiff = Math.abs(date2.getTime() - date1.getTime());   
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
    alert(diffDays);
}

答案 1 :(得分:6)

angular-moment可以解决问题! ......和(非常)其他。

使用 amDifference 过滤器:

  

获取两个日期之间的差异(以毫秒为单位)。参数是   date,units和usePrecision。日期默认为当前日期。例如:

<span>Difference: {{ dateFrom | amDifference : dateTo : 'days' }} days</span>