我试图找到两个给定时间之间的范围,在 Si 中我想要执行以下操作:
我有 h1 = 20:00:00 和 h2= 20:30:00
我想要的是最终结果等于这个:
20:00:00--20:10:00--20:20:00--20:30:00 即给定时间增加 10 分钟
这是我的代码:
.controller('General', function($scope){
$scope.h1=moment("18:00:00",'HH,mm,ss').format('HH-mm-ss');
$scope.h2=moment("21:00:00",'HH,mm,ss').format('HH-mm-ss');
var rangoMinutos = function(h1, h2) {
var rango= [];
while (h1 <= h2) {
rango.push(h1);
h1.add(1,'hours');//NO SE SI ESTE BIEN ESTO
}
return rango;
};
var results1 = rangoMinutos($scope.h1, $scope.h2);
alert(results1)//ver resultado de los rangos
})
我不知道 MomentJS,但您应该做的第一件事是将两次转换为您可以实际比较它们不同的格式。
我在您的代码中看到的主要问题是,在生成数组时,您将添加相同的时刻对象 n 次,因此当您阅读它时,您将同时获得 n 个相等的元素。
如果要创建矩对象数组,则每次向数组中添加元素时都应创建一个新对象。
看看这个例子: