Work with working hours php: how many hours they were made in the morning and evening

109 views Asked by At

i've got a question that is making me crazy: - suppose i have a beginning hour like 07:35, and an ending hour like 19:48 (is a work session) - suppose that the day is 08:00 - 20:00 and the night is 20:00 - 08:00 my problem is, how can i find how much time (in minute for example) is passed in the day and how much in the night? I can say 25 minutes in the night and 712 minutes in day, making it by mind :-D but i'm trying to make a function or find a way! Thanks a lot to all.

I've done this so far, and it's working for simple data... i don't know if it will work in all case:

$inizio_giorno=oreToMinuti("08:00");
$fine_giorno=oreToMinuti("20:00");
$inizio_notte=oreToMinuti("20:00");
$fine_notte=oreToMinuti("08:00");
$conto_minuti_giorno="";
$conto_minuti_notte="";
while($row2=mysql_fetch_array($result2)){
    if($row2["verso"]=="entrata"){
        if(oreToMinuti($row2["ora_effettiva"])<$inizio_giorno){
            $conto_minuti_notte=$fine_notte-oreToMinuti($row2["ora_effettiva"]);
        }
        if(oreToMinuti($row2["ora_effettiva"])>$inizio_giorno){
            $conto_minuti_giorno=oreToMinuti($row2["ora_effettiva"])-$inizio_giorno;
        }
    }else{
        if(oreToMinuti($row2["ora_effettiva"])<$fine_giorno){
            if(oreToMinuti($row2["ora_effettiva"])<$fine_notte){
                $conto_minuti_notte=($fine_notte-oreToMinuti($row2["ora_effettiva"]))-$conto_minuti_notte;
            }else{
                $conto_minuti_giorno=oreToMinuti($row2["ora_effettiva"])-$inizio_giorno-$conto_minuti_giorno;
            }
        }else{
            $conto_minuti_notte=oreToMinuti($row2["ora_effettiva"])-$inizio_notte;
        }
    }
}
echo str_replace("-","",$conto_minuti_giorno." e ".$conto_minuti_notte)."<br />";
0

There are 0 answers