Avatar billede kjetilh Nybegynder
08. december 2003 - 12:27 Der er 5 kommentarer og
1 løsning

dato og tids spørsmål

hvis jeg kenner uke nummer, måneden og året.. hvordan finner jeg ut hvilke datoer som hører til denne uken med hjelp av php??

f.eks hvilke datoer hører til uke 9, februar 2004?
Avatar billede Slettet bruger
08. december 2003 - 14:07 #1
<?php
$ugenummer=9;
$aarstal=2004;

// Find en dato, som er i den pågældende uge.
$dag_i_aar=($ugenummer-1)*7+4;

$temp=getdate(mktime(0,0,0,1,$dag_i_aar,$aarstal));

if ($temp['wday']==0) {$temp['wday']=7;} // Søndag er dag nummer 7 i en uge, ikke nummer 0

$mandag=date("Y-m-d",mktime(0,0,0,0,1+$dag_i_aar-$temp['wday'],$aarstal));
$soendag=date("Y-m-d",mktime(0,0,0,0,1+$dag_i_aar-$temp['wday']+6,$aarstal));

echo "Uge $ugenummer i år $aarstal starter mandag: $mandag\n";
echo "og slutter søndag: $soendag\n";

?>
Avatar billede kjetilh Nybegynder
08. december 2003 - 14:24 #2
takk ;D
Avatar billede Slettet bruger
08. december 2003 - 15:03 #3
Selv tak.
Avatar billede kjetilh Nybegynder
08. december 2003 - 16:13 #4
Bortsett fra at den ikke fungerer.
Prøver med:
$ugenummer=50;
$aarstal=2003;

og får:
Uge 50 i år 2003 starter mandag: 2003-11-07

selv om vi jeg burde få 2003-12-08
Avatar billede Slettet bruger
08. december 2003 - 17:18 #5
Jeg prøver lige at se på det.
Avatar billede Slettet bruger
08. december 2003 - 18:05 #6
Den burde have virket før, og jeg kan ikke se, hvorfor den ikke gjorde, men med disse to erstatningsliner, virker den:

$mandag=date("Y-m-d",mktime(0,0,0,$temp['mon'],1+$temp['mday']-$temp['wday'],$aarstal));
$soendag=date("Y-m-d",mktime(0,0,0,$temp['mon'],1+$temp['mday']-$temp['wday']+6,$aarstal));
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