Avatar billede Slettet bruger
28. december 2004 - 15:02 Der er 13 kommentarer og
1 løsning

PHP funktion der retunere uge antallet i et bestemt år

Hej

Jeg skal bruge en lille PHP funktion der der retunere uge antallet i et bestemt år ved at kører funktionen:

getLastWekk("2004");
så får jeg dette resultat: 53

eller

getLastWekk("2005");
så får jeg dette resultat: 52
Avatar billede haren Nybegynder
28. december 2004 - 15:23 #1
Øhh - jeg er lidt forvirret.

Du bruger jo funktionen i forvejen..?
Avatar billede haren Nybegynder
28. december 2004 - 15:26 #2
Forresten hvis du undrer dig over hvorfor den siger noget forskelligt?
Så har det mystisk nok været en uge mere i år..
Avatar billede Slettet bruger
28. december 2004 - 15:39 #3
Der findes ingen funktion.... Men skal have lavet en.... Det jeg har skrevet ovenfor er hvad den skal retunere når man kører funktionen...
Avatar billede cybermaster Nybegynder
28. december 2004 - 15:47 #4
<?
function getweeks($in_year){
      $in_starttime = mktime(0, 0, 0, 1, 1, $in_year);
      $in_endtime = mktime(0, 0, 0, 12, 31, $in_year);
      while($in_starttime <= $in_endtime){
          $in_week = date("W", $in_starttime);
          $weeks = $in_week;
          $in_starttime += 604800;
      }
      if ($weeks == 1){
          $weeks = date("W", $in_starttime-604800*2);
      }
      return $weeks;
  }

echo getweeks("2004");
echo "<br>";
echo getweeks("2005");
?>
Avatar billede algizoft Nybegynder
28. december 2004 - 15:48 #5
Du kan bare bruge følgende
echo date("W", mktime(0,0,0,12,31,2004));
Så kan du selvfølgelig udskifte årstallet
Avatar billede algizoft Nybegynder
28. december 2004 - 15:49 #6
OK, ovenstående omskrevet til en funktion

function getLastWeek($year)
{
  return date("W", mktime(0,0,0,12,31,$year));
}
Avatar billede Slettet bruger
28. december 2004 - 15:52 #7
Nej algizoft... Det kan godt retunere 1 så...
Avatar billede haren Nybegynder
28. december 2004 - 15:52 #8
cyberfinn -> Ok..
Avatar billede algizoft Nybegynder
28. december 2004 - 15:55 #9
haren -> hvordan får du den til???

function getLastWeek($year = 2004)
{
  return date("W", mktime(0,0,0,12,31,$year));
}
dette giver 53 på min maskine hvorimod 2005 giver mig 52
Avatar billede Slettet bruger
28. december 2004 - 15:58 #10
algizoft: så prøv med 2002 og 2007
Avatar billede Slettet bruger
28. december 2004 - 15:59 #11
cybermaster: Din virker.... mange tak
Avatar billede haren Nybegynder
28. december 2004 - 16:01 #12
Kommentar: algizoft - 28/12-2004 15:55:13

Den forstod jeg ikke - sorry??
Avatar billede algizoft Nybegynder
28. december 2004 - 16:06 #13
haren -> Det har du sgu' da også ret i.... Jeg havde da lige overset at 31/12 godt kan ligge i første uge af det nye år :->
Avatar billede Slettet bruger
28. december 2004 - 16:11 #14
ja
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