Avatar billede jokerper Nybegynder
07. februar 2012 - 08:39 Der er 3 kommentarer

Hjælp til dato i php find det rigtige

Hejsa

Har brug for lidt hjælp er gået kold i dette her dato udvælgelse, kan ikke lige gennemskue det mere.

lidt kode:


$day = 1;
if (date('j') > 8) {
$month = date('n') +1;
} else {
$month = date('n');
}
$yearNow = date('Y'); //start counting from this year
$countToYear = $yearNow +1; // stop when reaching this year
while ($yearNow < $countToYear)
{
    if ( $month == 7 OR $month == 8) //skip June (for some reason?)
    {
        $month++;
        continue;
    }
    if ( $tid = date("l", mktime(0, 0, 0, $month, $day, $yearNow)) == "Saturday" ) // prints out IF monday
    {
        $dato = date("d - M Y", mktime(0, 0, 0, $month, $day, $yearNow));

        $dato1 = date("M", mktime(0, 0, 0, $month, $day, $yearNow));
        $tid = date("H:i:s d - M Y", mktime(16, 0, 0, $month, $day, $yearNow));
        $ukmnd = array("Jan", "Feb", "Mar", "Apr", "May", "Jul", "Aug","Sep","Oct","Nov","Dec");
$dkmnd = array("Januar", "Februar", "Marts", "April", "Maj", "Juli", "August","September","Oktober","November","December");
$dkdatoslut = str_replace($ukmnd, $dkmnd, $dato);
        $ukmnd = array("Jan", "Feb", "Mar", "Apr", "May", "Jul", "Aug","Sep","Oct","Nov","Dec");
$dkmnd = array("Januar", "Februar", "Marts", "April", "Maj", "Juli", "August","September","Oktober","November","December");
$tide = str_replace($ukmnd, $dkmnd, $tid);       
/*        echo "<option value=".$dkdato1."> Mandag ".$dkdato."</option>"; */
    }
    $day++;
    if ($day > 7) /* there are more than 7 days in a month but the first monday will happen in the first 7 days, so start over. with new month please */
    {
    break;
        $day = 1;
        $month++;
        if($month > 12)
        {
            $month = 1;
            $yearNow++;
        }
    }
}



Nå men det jeg gerne vil have den til er at finde første mandag i måneden og lørdagen inden. når vi så er forbi hhv. lørdagen og mandagen skal jeg bruge næste måned. Som nu hvor det lige har været mandag skal jeg bruge lørdag d. 3. marts og mandag d. 5. marts.


evt. lidt smartere kode....
Avatar billede larsny Nybegynder
07. februar 2012 - 15:26 #1
argh knald et script frøs min browser..

prøver igen, jeg er ikke helt 100% på hvad du er ude efter, men prøv følgende.

denne side har en masse funktioner der vil gøre det lettere for dig at lege med datoer: http://php.net/manual/en/function.date.php

Jeg vil anbefale du bruger date("N") til at finde dagen på uge ala følgende:

1. date("N", "2012-03-01) giver dig uge dagen for den første i marts måned (1 (for Monday) through 7 (for Sunday))

2. Brug ovenstående resultat til at finde første mandag og lørdag

3. Hvis disse datoer er før dags dato, så gentag step 1 og 2 med næste måneds dato. altså date("N", "2012-04-01")

Giver det mening?
Avatar billede jokerper Nybegynder
07. februar 2012 - 17:47 #2
Hejsa

Tak for responsen.

Jeg sidder og leger lidt med at finde en løsning på en tilmelding.

Der er tilmelding indtil første lørdag i måneden hvor der arrangementet er om manden altså 3 dage senere.

Så jeg skal lukke for tilmelding om lørdagen.

Mere kringlet er det ikke.
Avatar billede jokerper Nybegynder
07. februar 2012 - 17:49 #3
Så lige nu drejer det sig om:

lørdag d. 3.3.2012 og mandag d. 5.3.2012.
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

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