我正在开发一个简单的时间表应用程序,我正在尝试实现一个自动计算器,它将总结您每天的小时数(星期日、星期一、星期二等)。我注意到的一个问题是,在某些情况下,用户将输入相同日期时间段内的活动。
例如:
$scope.Example = [
{Description:"Example activity",Start:"2018-06-24 8:00",End:"2018-06-24 10:00",Total:2},
{Description:"Example activity2",Start:"2018-06-24 9:00",End:"2018-06-24 10:00",Total:1},
{Description:"Example activity3",Start:"2018-06-24 10:00",End:"2018-06-24 11:00",Total:1}];
$scope.Calculate_all_entries = function(){
$scope.Total.Sunday = 0;
if($scope.Example){
angular.forEach($scope.Example, function(element){
if(moment(element.Start).format("dddd") === "Sunday"){
$scope.Total.Sunday = $scope.Total.Sunday + element.Total;
}
})
}
}
在这种情况下,总数应该是3个小时而不是4个小时,因为我们在同一时间内不收取工作费用。我需要实施一个系统,检查日期是否在同一时期内,并提供适当的总数。
我在MomentJS的文档中发现了这一点,该文档似乎与我需要的非常接近,但只具有一个值:
moment('2010-10-19 11:00').isBetween('2010-10-19 10:00', '2010-10-25 00:00'); // true
是否有人知道其他方法来检查开始和结束时间是否与同一天的其他条目在同一时间段内?