MomentJs获得多年 - 没有差别

时间:2016-07-06 20:21:53

标签: javascript momentjs

我试图让这些年份包含在给定的日期范围内。

这样一个用户并输入2015年12月1日 - 7月。 2016年1月。我可以获得2015年,但我也需要包括2016年。

目前,我将两个日期之间的差异视为年份:

//First controller in browser window 1. Listen for the event:

  $scope.$watch(function () {
            return localStorage.composeTransferDatas;
        }, function (newVal, oldVal) {           
            if(newVal != oldVal){
                console.log('Hi');             
            }
        }, true);


//Second controller in browser window 2. Save data in localStorage:

  var arrayWindows = JSON.parse(localStorage.composeTransferDatas);
  arrayWindows['test'] = {data : data, type: type};
  localStorage.composeTransferDatas = JSON.stringify(arrayWindows);
  $window.close();

最好的方法是什么?我相信我可以把这一年解析为int并比较看看有多少年但是我觉得这不是正确的方法。

1 个答案:

答案 0 :(得分:0)

  $scope.startDate = '01/01/2014';
    $scope.endDate = moment(d).format("MM/DD/YYYY");
    var tmpEndYear = moment(d).format("YYYY");
    var tmpStart = moment("20140101", "YYYYMMDD");
    sc.dtColumns = [DTColumnBuilder.newColumn('ProductNumber').withTitle('Item')];
    var tmpEnd = moment(d);
    $scope.dates1.startDate = moment("20140101", "YYYYMMDD");
    $scope.dates1.endDate = tmpEnd;
    for (var i = 2014; i <= tmpEndYear; i++) {
        sc.dtColumns.push(DTColumnBuilder.newColumn(i).withTitle('Total ' + i));
    }
    while (tmpEnd > tmpStart) {
        sc.months.push(tmpStart.format('MM-YYYY'));
        tmpStart.add(1, 'month');
    }

最终解析了int并从那里使用它。