Avatar billede neess Nybegynder
21. oktober 2004 - 19:39 Der er 2 kommentarer og
1 løsning

find en dato ud fra en uge nummer dag.

Jeg har følgende data. år,dag,uge.nr.
Jeg har prøvet at lave denne funktion, som skulle finde datoen, men den virker ikke helt.
Når jeg kalder den med 2003,43 og dag 4. Så for jeg 21 oktober som den skal. Men prøver jeg med dag nr. 5(skulle være fredag) for jeg den 19.

function uge_til_dag($week, $year,$dag){
      //We start some time into prev year
      $searchdate = mktime(0,0,0,12,20,$year-1);
      //Then we advance $week-1 weeks ahead (no need to search through dates we know won't give results)
      $searchdate = strtotime("+".($week-1)." week",$searchdate);

      $found=false;
      while ($found==false){
              if (date("W",$searchdate) == $week)
                      $found = true;
              else
                      $searchdate = strtotime("+$dag day",$searchdate);
                      //$searchdate = strtotime("+6 day",$searchdate);
      }
        $weekdates = $searchdate;
      //$weekdates['firstday'] = $searchdate;
      //$weekdates['lastday'] = strtotime("+6 day",$searchdate);
      return $weekdates;
}
Avatar billede detox Nybegynder
21. oktober 2004 - 20:47 #1
Så skal det nok være sådan:

function uge_til_dag($week, $year,$dag){
    $searchdate = mktime(0,0,0,12,20,$year-1);
    $searchdate = strtotime("+".($week-1)." week",$searchdate);
    $found=false;
    while ($found==false){
        if (date("w",$searchdate) == $dag)
            $found = true;
        else
            $searchdate = strtotime("+1 day",$searchdate);
    }
    $found=false;
    while ($found==false){
        if (date("W",$searchdate) == $week)
            $found = true;
        else
            $searchdate = strtotime("+1 week",$searchdate);
    }
    return $searchdate;
}
Avatar billede neess Nybegynder
21. oktober 2004 - 21:05 #2
Jamen du er jo flyvende idag.- Det virker bare.
Avatar billede neess Nybegynder
01. november 2004 - 20:31 #3
Den kan ikke regne søndag ud dag 7. Men lavede så lige den lille lappe løsning. Ved at smide dette ind i startet af funktionen

if($dag==7)
{
$dag=$dag-1;
$lordag=uge_til_dag($week,$year,$dag);
$lordag = strtotime("+1 day",$lordag);
return $lordag;
}
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