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?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...