Avatar billede ajhdk Nybegynder
27. juni 2007 - 15:54 Der er 3 kommentarer og
1 løsning

Dato for første dag på en vilkårlig uge

I forlængelse af: http://www.eksperten.dk/spm/785029

Følgende kode virker fint hvis f.eks
week = 26
year = 2007 men hvis man bruger flg:
http://ajh.phpnet.us/test2.php?w=53&y=2006
week 53 år 2006 så stener dato'erne ret meget :-)

Mvh
Anders


KODE:

<?php

    /* WEEK & YEAR SELECTION */
    if(isset($_GET["w"]) == false || isset($_GET["y"]) == false) {
        $week = date(W);
        $year = date(Y);
    }
    else {
        $week = $_GET["w"];
        $year = $_GET["y"];   
    }
   
    if($week > 53){$week = date(W);};
    if($year < 0){$week = date(Y);};
   
   
    echo ($week." ".$year."<br><br>");
   
    $dage = array('Mon','Tue','wed','Thu','Fri','Sat','Sun');
    $week = $week -1;
 
    while($a < count($dage)) {
        $timestamp_year = mktime(0,0,0,1,1,$year);
        echo date("d/m",strtotime("+$week week $dage[$a]",$timestamp_year)) . "<br>";
    $a++;
    }

?>
Avatar billede ajhdk Nybegynder
27. juni 2007 - 16:13 #1
år 2006 har ingen uge 53 men se f.eks http://ajh.phpnet.us/test2.php?w=43&y=2006
Avatar billede ajhdk Nybegynder
27. juni 2007 - 16:51 #2
flg virker.

<?php

    /* WEEK & YEAR SELECTION */
    if(isset($_GET["w"]) == false || isset($_GET["y"]) == false) {
        $week = date(W);
        $year = date(Y);
    }
    else {
        $week = $_GET["w"];
        $year = $_GET["y"];   
    }
   
    if($week > 53){$week = date(W);};
    if($year < 0){$week = date(Y);};

    $startDate = mktime(0, 0, 0, 1, 1, $year);
    $startDay = date('w',$startDate);
    if($startDay !== 0)
    {
        $startDate = mktime(0, 0, 0, 1, 1 - $startDay, $year);
    }
   
    $week = $week-1;
   
   
    for($i = 1; $i<54; $i++)
    {
        $tempDate = strtotime("+".$i." week",$startDate);
        $tempWeek = date('W',$tempDate);
        $tempYear = date('Y',$tempDate);
     
        if($tempWeek == $week && $tempYear == $year)
        {
            for($x = 1; $x<8; $x++)
            {
                echo date("d/m",strtotime("+".$x." day",$tempDate)) . '<br />';
            }
        }
    }

?>
Avatar billede ajhdk Nybegynder
27. juni 2007 - 16:51 #3
Spørgsmål lukkes.
Avatar billede jakobdo Ekspert
27. juni 2007 - 16:55 #4
Godt og se min kode kunne bruges! :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester