Avatar billede kasbas91 Nybegynder
25. september 2011 - 13:50 Der er 8 kommentarer og
1 løsning

Find resten af ugen fra den dag vi har i dag, hvordan gør man det. ?

Hej...

Jeg skal have fundet resten af ugen fra den dag vi har i dag.

FX vi har den 25/09/2011, så her skal der ikke komme nogen dage frem.

Men hvis dato'en er: 26/09/2011 så skal jeg have:

27/09/2011

28/09/2011

29/09/2011

30/09/2011

Hvordan gør man det. :)

Tak..
Avatar billede kjeldsted Novice
25. september 2011 - 14:23 #1
Du kunne jo fx. lave et loop der begynder på dagens nummer og som slutter når den når 6.

Altså noget i dur med
$u=0;
for($i=date('w');$i<=6;$i++)
{
echo date('d/m/y',time()+$u*86400);
echo "<br>\n";
$u++;
}


Lidt hurtigt bikset sammen. Men burde det ikke nogenlunde kunne gøre det?
Avatar billede kasbas91 Nybegynder
25. september 2011 - 14:30 #2
Det var også noget i den retning jeg regnede med.

Men hvis der ikke er flere dage i ugen skal den ikke vise noget, men

hvis ugen er startet skal den vise hele ugen osv...

Det er det jeg ikke kan finde ud af..
Avatar billede olebole Juniormester
25. september 2011 - 14:45 #3
<ole>


<?php
$date = '26/09/2011';

// Skift til engelsk format
$dateComps = explode('/', $date);
$date = $dateComps[1] . '/' . $dateComps[0] . '/' . $dateComps[2];

// Find stamp for startdagen
$stamp = strtotime($date);

// Find startdagens nummer i ugen
$numDay = date('N', $stamp);

// Find resterende dage i ugen
for ($i=1; $i<=5-$numDay; $i++) {
    $dayStamp = strtotime('+'.$i.' day', $stamp);
    echo date('d/m/Y', $dayStamp) . '<br>';
}
?>


/mvh
</bole>
Avatar billede olebole Juniormester
25. september 2011 - 14:52 #4
- ogh hvis du ønsker en funktion, som returnerer et array af manglende dage:


<?php
function getDays($date) {
    $dateComps = explode('/', $date);
    $date = $dateComps[1] . '/' . $dateComps[0] . '/' . $dateComps[2];
    $stamp = strtotime($date);
    $numDay = date('N', $stamp);
    $aRet = array();
    for ($i=1; $i<=5-$numDay; $i++) {
        $dayStamp = strtotime('+'.$i.' day', $stamp);
        $aRet[] = date('d/m/Y', $dayStamp);
    }
    return $aRet;
}

$arrDays = getDays('26/09/2011');
var_dump($arrDays);
?>

Avatar billede kasbas91 Nybegynder
25. september 2011 - 14:53 #5
Tak olebole..

smid svar..
Avatar billede olebole Juniormester
25. september 2011 - 14:57 #6
Selvtak. Jeg samler ikke points, så spørg lige kjelsted - og ellers lægger du selv svar og accepterer, så tråden lukkes  =)
Avatar billede kasbas91 Nybegynder
25. september 2011 - 15:49 #7
kjeldsted smid svar for point.
Avatar billede kjeldsted Novice
25. september 2011 - 17:10 #8
Du beholder dem bare selv :)
Og desuden havde jeg taget hensyn til i #1, hvis du læser koden ;)
Avatar billede kasbas91 Nybegynder
29. september 2011 - 11:17 #9
lukker.. :)
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