Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi leute.

ich habe das problem das ich der folgenden funktion meine kw und das jahr übergebe und diese gibt mir einen schönen datestring aus!

nun ist irgendwo ein bug.

wenn ich kw 53/2004

eingebe dann ist der datestring der gleiche als bei kw 1 /2004!

sieht jemand den bug?

gruss,

kills

function KWtoDate($kw, $jahr)

{

     $tag_jahresbeginn = mktime(0, 0, 0, 1, 1, $jahr);

     switch(date("l", $tag_jahresbeginn))

     {

       case "Monday" : $einige_tage = 4; break;

       case "Tuesday" : $einige_tage = 3; break;

       case "Wednesday" : $einige_tage = 2; break;

       case "Thursday" : $einige_tage = 1; break;

       case "Friday" : $einige_tage = 0; break;

       case "Saturday" : $einige_tage = 6; break;

       case "Sunday" : $einige_tage = 5; break;

       default : print "Fehler in Function KWtoDate!"; break;

     }


     $tage_bis_ziel_kw = ($kw - 1) * 7 + $einige_tage;

     $datum_in_ziel_kw = mktime(0, 0, 0, 1 , 1 + $tage_bis_ziel_kw, $jahr);

     $datum_anf_ziel_kw = mktime(0, 0, 0, 1 , 1 + $tage_bis_ziel_kw-4, $jahr);


     //print "KW $eingabe in diesem Jahr endet am : ". date ("l d F", $datum_in_ziel_kw);

     $ziel_tag = date("d", $datum_in_ziel_kw);

     $ziel_monat = date("m", $datum_in_ziel_kw);

     $ziel_jahr = date("Y", $datum_in_ziel_kw);


     $anf_tag = date("d", $datum_anf_ziel_kw);

     $anf_monat = date("m", $datum_anf_ziel_kw);

     $anf_jahr = date("Y", $datum_anf_ziel_kw);


     $Zieldatum = "$ziel_tag.$ziel_monat.$ziel_jahr";

     $Anfdatum = "$anf_tag.$anf_monat.$anf_jahr";


     echo "$Anfdatum - $Zieldatum";

     return $Zieldatum;

Geschrieben

Wie wärs damit?


function KWtoDate($kw, $jahr)
{
$tag_jahresbeginn = mktime(0, 0, 0, 1, 1, $jahr);
switch(date("l", $tag_jahresbeginn))
{
case "Monday" : $einige_tage = 4; break;
case "Tuesday" : $einige_tage = 3; break;
case "Wednesday" : $einige_tage = 2; break;
case "Thursday" : $einige_tage = 1; break;
case "Friday" : $einige_tage = 0; break;
case "Saturday" : $einige_tage = 6; break;
case "Sunday" : $einige_tage = 5; break;
default : print "Fehler in Function KWtoDate!"; break;
}
$returndate=$tag_jahresbeginn+(($kw-1)*7+$einige_tage)*86400;
//ein Tag hat 86400 Sekunden.
return $returndate;
}
[/PHP]

Geschrieben
Original geschrieben von jomama

Wie wärs damit?


function KWtoDate($kw, $jahr)
{
$tag_jahresbeginn = mktime(0, 0, 0, 1, 1, $jahr);
switch(date("l", $tag_jahresbeginn))
{
case "Monday" : $einige_tage = 4; break;
case "Tuesday" : $einige_tage = 3; break;
case "Wednesday" : $einige_tage = 2; break;
case "Thursday" : $einige_tage = 1; break;
case "Friday" : $einige_tage = 0; break;
case "Saturday" : $einige_tage = 6; break;
case "Sunday" : $einige_tage = 5; break;
default : print "Fehler in Function KWtoDate!"; break;
}
$returndate=$tag_jahresbeginn+(($kw-1)*7+$einige_tage)*86400;
//ein Tag hat 86400 Sekunden.
return $returndate;
}
[/PHP]

[/b]

jo is ja wunerbar aber wo is der datumsstring den ich eigentlich haben wollte? ;-)

Geschrieben
Original geschrieben von kills


function KWtoDate($kw, $jahr)
{
echo "$Anfdatum - $Zieldatum";
[/PHP]

[/b]

ich meine ja das ich oben einen datumstring ausgebe den ich ja bei dir gar nicht im source habe. ausserdem wollte ich ja wissen wo der bug drinn ist. :)

gruss

kills

Geschrieben

:confused:

Also ich hab das mal bei mir probiert, und bei mir kommt bei 53/2004 und 1/2004 nicht das selbe raus.

1/2004 => 29.12.2003 - 02.01.2004

53/2004 => 27.12.2004 - 31.12.2004

Kann das an deiner PHP-Version liegen?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...