Avatar billede grav Nybegynder
15. maj 2004 - 19:16 Der er 4 kommentarer og
2 løsninger

Timestamp på baggrund af uge-nummer og år

Hvordan bærer jeg mig ad med at skrive en funktion tager ugenummer og år som argumenter og returnerer et unix-timestamp for begyndelsen af ugen?

Altså:

function ugestart(aar, uge)
{
  // Trylle-trylle
  return tid;
}
Avatar billede Slettet bruger
15. maj 2004 - 19:20 #1
Er det denne funktion du leder efter?
http://www.php.net/strtotime
Avatar billede grav Nybegynder
15. maj 2004 - 19:24 #2
Ja, den ser da vist ud til at kunne bruges.
Ellers fandt jeg også noget her:
http://dk.php.net/manual/en/function.mktime.php
Men point til dig :-) Smid et svar.
Avatar billede Slettet bruger
15. maj 2004 - 19:32 #3
Følgende kan gøre det

<?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,$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));

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

?>
Avatar billede grav Nybegynder
15. maj 2004 - 19:56 #4
sandbox: Jep, den virker fint. Har modificeret den lidt:

function ugestart($aar, $ugenummer)
{
    $dag_i_aar=($ugenummer - 1) * 7 + 4;
    $temp = getdate(mktime(0, 0, 0, 1, $dag_i_aar, $aar));
    if ($temp['wday'] == 0)
        $temp['wday']=7;
    return mktime(0, 0, 0, $temp['mon'], 1 + $temp['mday'] - $temp['wday'], $aar);
}
Smid et svar, så får du point også :-)
Avatar billede Slettet bruger
15. maj 2004 - 20:08 #5
Tak for det. ;)
Avatar billede Slettet bruger
15. maj 2004 - 20:09 #6
OK, det kommer her.
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