在angularjs应用JSON数组总结差异的时序是怎么了? [英] summing up of difference in timings in json array of angularjs application is going wrong

查看:139
本文介绍了在angularjs应用JSON数组总结差异的时序是怎么了?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有JSON对象的以下数组和功能得到总小时数。

I have the following array of json objects and function to get total Hours count.

$scope.workingHrsList = [
  {   
    "uniqueStartTime": "4.00", //4 AM
    "uniqueEndTime": "16.45"  //4.45 PM
  },
  {   
    "uniqueStartTime": "16.45", //4.45 PM
    "uniqueEndTime": "3.15"  // 3.15 AM
  },
  {   
    "uniqueStartTime": "3.15", //3.15 AM
    "uniqueEndTime": "4.00"   // 4.00 AM
  }
];

var toatlWorkingHrsCnt = getTotalHoursCount();    

 function getTotalHoursCount() {
        var totalHrs = 0.0;
        for (var i = 0; i < $scope.workingHrsList .length; i++) {
            totalHrs = totalHrs + (parseFloat($scope.workingHrsList [i]["uniqueEndTime"]) - parseFloat($scope.workingHrsList [i]["uniqueStartTime"]));
            $scope.workingHrsList [i]["diffHrs"] = (parseFloat($scope.workingHrsList [i]["uniqueEndTime"]) - parseFloat($scope.workingHrsList [i]["uniqueStartTime"])) + "";
            console.log("End : " + parseFloat($scope.workingHrsList [i]["uniqueEndTime"]));
            console.log("Start : " + parseFloat($scope.workingHrsList [i]["uniqueStartTime"]));
            console.log("Row Hrs with Index " + i + "  : " + totalHrs);
        }
        console.log("Total Hours : " + totalHrs);
        return (totalHrs);
    }

,这样我可以检查

so that I can check

if(toatlWorkingHrsCnt == "24.00" ) {
console.log("Payable");
} else {
console.log("Not Payable");
}

虽然手动,我们可以清楚地看到,在时序的差异合计达24小时,但功能没有给这一结果。任何一个可以帮助我解决这个问题?

Even though manually, we can clearly see that the difference in the timings is adding up to 24hrs, but the function is not giving that result. Can any one help me to fix the issue?

推荐答案

您使用的是24小时格式,那就试试这个,

you are using 24hrs format, then try this,

$scope.workingHrsList = [
                    {   
                        "uniqueStartTime": "4.00", //4 AM
                        "uniqueEndTime": "16.45"  //4.45 PM
                    },
                    {   
                        "uniqueStartTime": "16.45", //4.45 PM
                        "uniqueEndTime": "3.15"  // 3.15 AM
                    },
                    {   
                        "uniqueStartTime": "3.15", //3.15 AM
                        "uniqueEndTime": "4.00"   // 4.00 AM
                    }
                ];



function getTotalHoursCount() {
        var totalHrs = 0, uEndTime = 0, uStartTime = 0, diff = 0;
        for (var i = 0; i < $scope.workingHrsList .length; i++) {

            uEndTime   = parseFloat($scope.workingHrsList[i].uniqueEndTime);
            uStartTime = parseFloat($scope.workingHrsList[i].uniqueStartTime);

            //always start greater than end time if not 
            //it means they worked continued for next day, 
            //so we need to 24 hrs with end time
            if(uEndTime > uStartTime){
                diff = uEndTime - uStartTime;
            }
            else{
                diff = (uEndTime + 24) - uStartTime;
            }

            totalHrs += diff;
            $scope.workingHrsList[i].diffHrs = diff;

            console.log("End : " + uEndTime);
            console.log("Start : " + uStartTime);
            console.log("Row Hrs with Index " + i + "  : " + totalHrs);
        }
        console.log("Total Hours : " + totalHrs);
        return totalHrs;
    }

这篇关于在angularjs应用JSON数组总结差异的时序是怎么了?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆