Kalenderwoche zu Datum generieren lassen

Gunah

Erfahrenes Mitglied
Moin

gibt es eine Lösung von KW zu Datum, umgekehrt geht es ja aber gibt es auch was in die andere richtung.

sodass man aus "KW 02 2009" ein UNIXTIMESTAMP machen kann?

habe auf php.net so keine Lösung gefunden...

Gruß
Gunah
 
Ja, das geht.

PHP:
<?php
function getStampFromWeek($week, $year) {
    $startStamp = mktime(0, 0, 0, 1, $week * 7, $year);
    $isoWeek = date('W', $startStamp);
    if ($isoWeek != $week)
	{
		$startStamp = mktime(0, 0, 0, 1, --$week * 7, $year); 
    }
	$dow = date('w', $startStamp);
    if (--$dow == -1) 
	{
		$dow = 6;
    }
	return ( $startStamp - $dow * 86400 );
}

echo date('d.m.Y', getStampFromWeek(8, 2009));
?>
 
Ich glaube das Skript habe ich irgendwann mal aus der phpbar.de Mailingliste kopiert und für meine Zwecke abgeändert... Also Copyright by irgendwem anders.
 
(PHP 5 >= 5.2.0)

ich arbeite bei dem Server aber mit PHP4 :-((

und die wollen den Server nicht mehr updaten :-(

Gruß
Gunah
 
@ Gunah:
Dann solltest vielleicht in Betracht ziehen, den Anbieter zu Wechseln...PHP4 ist Schnee von gestern und wird nicht mehr weiterentwickelt.

Wenn jemand nicht auf PHP5 updaten will, dann heisst das irgendwie, dass man kein Interesse daran hat, mit seinen Kunden in Zukunft weiterzuarbeiten.
 
Zuletzt bearbeitet:
Hallo!
Geht moch simpler :suspekt:
PHP:
<?php 
$date=date_create();
date_isodate_set ( $date, 2009, 2 ,1 );
echo date_format($date,"U");
?>

:rtfm: http://de.php.net/manual/en/class.datetime.php
Wenn man es genau nimmt, ist es so aber nicht korrekt.
Schliesslich beginnt der neue Tag bzw. die neue Woche nicht irgendwann im laufe des Tages, sondern um Mitternacht. ;)

Darum mein Verbesserungsvorschlag:
PHP:
$date=date_create(date("Y")."-".date("m")."-".date("d")." 00:00:00");
Gruss Dr Dau
 
Zurück