Hallo,
ich habe folgendes Problem und ich hoffe Ihr könnt mir weiterhelfen.
Ich habe ein Programm geschrieben was die gesamte Arbeitszeiten einer Person im Monat berechnet.
z.B. ein Arbeitnehmer hat an einem Tag eine Arbeitszeit von 21:45 - 06:15
Die Berechnung der Arbeitszeiten erfolgt täglich.
Dazu habe ich folgendes geschrieben (ist nur ein Teil davon)
$ist=0;
$zvon = $satz['zeitvon'];
$zbis = $satz['zeitbis'];
IF ($zvon && $zbis)
{
IF ($zvon < $zbis) $ist= $zbis - $zvon;
else $ist= $zbis +24*60*60 - $zvon;
}
Das funktioniert reibungslos. Die gesamte Arbeitszeit beträgt also 08:30. Ich wandle die o.g. Zeiten vorher in Sekunden um und nach der Berechnung wandle ich die Sekunden wieder im Time Format um. Auch das funkltioniert soweit reibungslos.
So nun möchte ich die tatsächlichen Nachtstunden ausrechnen lassen, die vergütet werden. Dies ist in der Zeit von 20:00 bis 06:00 Uhr. Die Nachstunden wären dann quasi 08:15 anstatt der berechneten Gesamtarbeitszeit.
Urpsünglich hatte ich dazu folgendes gedacht.
$nacht=0;
$nachtv=$satz['nachtvon']; //Sekunden von 20:00 Uhr
$nachtb=$satz['nachtbis']; // Sekunden von 06:00 Uhr
IF ($zvon && $zbis)
{
IF ($zvon > $zbis)
{
IF ($zvon >= $nachtv && $zbis <= $nachtb)
{
ab hier weiß ich nicht mehr weiter, denn
$nacht = $zbis +20*60*60 -$zvon
würde das Ergebnis bringen, wie oben.
wie gesagt gesamte Arbeitszeit von 21:45 - 06:15
Nachtstunden liegen jedoch zwischen 20:00 und 06:00 Uhr
}
}
}
Ich hoffe Ihr könnt mir ein paar Tipps geben. Ich danke Euch schon im vorraus
ich habe folgendes Problem und ich hoffe Ihr könnt mir weiterhelfen.
Ich habe ein Programm geschrieben was die gesamte Arbeitszeiten einer Person im Monat berechnet.
z.B. ein Arbeitnehmer hat an einem Tag eine Arbeitszeit von 21:45 - 06:15
Die Berechnung der Arbeitszeiten erfolgt täglich.
Dazu habe ich folgendes geschrieben (ist nur ein Teil davon)
$ist=0;
$zvon = $satz['zeitvon'];
$zbis = $satz['zeitbis'];
IF ($zvon && $zbis)
{
IF ($zvon < $zbis) $ist= $zbis - $zvon;
else $ist= $zbis +24*60*60 - $zvon;
}
Das funktioniert reibungslos. Die gesamte Arbeitszeit beträgt also 08:30. Ich wandle die o.g. Zeiten vorher in Sekunden um und nach der Berechnung wandle ich die Sekunden wieder im Time Format um. Auch das funkltioniert soweit reibungslos.
So nun möchte ich die tatsächlichen Nachtstunden ausrechnen lassen, die vergütet werden. Dies ist in der Zeit von 20:00 bis 06:00 Uhr. Die Nachstunden wären dann quasi 08:15 anstatt der berechneten Gesamtarbeitszeit.
Urpsünglich hatte ich dazu folgendes gedacht.
$nacht=0;
$nachtv=$satz['nachtvon']; //Sekunden von 20:00 Uhr
$nachtb=$satz['nachtbis']; // Sekunden von 06:00 Uhr
IF ($zvon && $zbis)
{
IF ($zvon > $zbis)
{
IF ($zvon >= $nachtv && $zbis <= $nachtb)
{
ab hier weiß ich nicht mehr weiter, denn
$nacht = $zbis +20*60*60 -$zvon
würde das Ergebnis bringen, wie oben.
wie gesagt gesamte Arbeitszeit von 21:45 - 06:15
Nachtstunden liegen jedoch zwischen 20:00 und 06:00 Uhr
}
}
}
Ich hoffe Ihr könnt mir ein paar Tipps geben. Ich danke Euch schon im vorraus
Kommentar