Wochentage/Wochenendtage zwischen 2 Timestamps

kpone

Grünschnabel
Hi,

ich hab 2 Timestamps vorliegen und würde gerne wissen wie viel Wochentage oder wie viel Wochenendtage dazwischen liegen. Man könnte natürlich jeden Tag innerhalb der Timestamps durchgehen, aber gibts es nicht eine bessere Methode?
 
Naja...anhand des Anfangs-und Endtages sollte es schon möglich sein, zu errechnen, wieviel von jedem dazwischen liegen.

Ob das besser/einfacher ist, liegt im Auge des Betrachters....bei einer grossen Zeitspanne dürfte es auf jeden Fall bedeutend schneller sein.
 
Die Differenz zweier Unix-Zeitstempel zu errechnen, ist einfach. Diesen Wert in Tage umzuformen auch. Was die Wochenenden betrifft, wäre eine genauere Definition nötig, welche Wochentage als Wochenende gelten und was passieren soll, falls ein Unix-Zeitstempel innerhalb des Wochenendes ist.
 
Du könntest folgende Funktion probieren:
PHP:
<?php

	function foobar( $timestamp1, $timestamp2 )
	{
		$x = 0;
		for( $i=$timestamp1; $i<$timestamp2; $i+=86400 ) {
			if( date('w', $i) == 6 || date('w', $i) == 0 ) {
				$x += 0.5;
			}
		}
		return array(
			'tage'        => ceil(($timestamp2-$timestamp1)/86400),
			'wochenenden' => $x
		);
	}


	$timestamp1 = time();
	$timestamp2 = time() + 86400*rand(1, 28);
	print_r( foobar($timestamp1, $timestamp2) );

?>
Ein Wochenendtag (Samstag und Sonntag) zählt dabei 0,5.
 
Zurück