PHP programmeringssprog har dato og tid funktioner, der forenkler skabe en månedskalender . Den " date ()" funktion returnerer en formateret dato eller dele af en dato for en given UNIX tidsstempel. Den " mktime ()" funktion returnerer en Unix tidsstempel for en given dato og tidspunkt. Ved at kombinere de to, kan du hente navnet på måneden, den første og den sidste dag i måneden, og andre nyttige værdier til udskrivning din kalender. Oprette en grundlæggende kalender, derefter bygge på det for at tilpasse det til dine behov. Ting du skal
PHP kode editor eller tekst editor
Vis Flere Instruktioner
1
Start din kalender koden ved at indstille standard tidszone for dit område . Dette vil sikre den aktuelle måned , og i dag vises korrekt
< phpdate_default_timezone_set ( ' America /Denver «) . ?
2
Tjek scriptets $ _Anmod vifte at se, om " måned" og "År " variabler blev indstillet. Hvis ikke, sæt dem til nutidens værdier og tildele til variabler navngivne $ måned og $ år.
If (! Isset ( $ _REQUEST [" måned" ] ) ) $ _Anmod [" måned" ] = dato ( " n " ), hvis ( isset ( $ _REQUEST ! [ " år "] ) ) $ _Anmod [ " år "] = dato ( " Y " ) , $ måned = $ _REQUEST [" måned " ] $ år = $ _REQUEST [ ,""år "] ;
dato ( "n ") returnerer den numeriske måned og dato ( "Y ") returnerer det firecifrede år. Se " PHP Manual : date" . Dokumentation forbundet i afsnittet Referencer for en komplet liste over formatering snor tegn
3
Generer et tidsstempel , ved hjælp af mktime () , for den første dag i forudsat måned og år. Indstil tiden parametrene til "0 ". Tiden er ikke nødvendig for at udskrive en kalender
$ timestamp = mktime (0 , 0, 0 , $ måned , 1, $ år) .
4
Oprette variabler til at holde navnet på den måned ( $ monthtxt ) , den numeriske sidste dag i måneden ( $ sidste dag ) , og den numeriske ugedag den første dag i måneden falder på ( $ firstdow , hvor søndag er "0") . < br >
$ monthtxt = dato ( "F" , $ timestamp ) $ Sidste dag = dato ( "t" , $ timestamp ) $ firstdow = dato ( "w" , $ timestamp ); >
5
Opret kalenderen header , udskrive måned ( $ monthtxt ) og år ( $ år) over et bord med syv søjler toppet med dag -of-the -ugers kolonneoverskrifterne .
< ; ? ? h2> < php echo $ monthtxt > < php echo $ år
6
Start en for-løkke til at gå gennem hver tabelcelle i kalenderen. Værdien $ d tæller gennem antallet af tabelceller fra øverste venstre celle ( "0") i tabellen gennem cellen indeholder den sidste dag i måneden ( $ Sidste dag + $ firstdow - 1) .
< P ? > < phpfor ( $ d = 0 , $ d < ( $ Sidste dag + $ firstdow ) $ d + +). {
7
Beregn dag i måneden , der udskrives i tabellen < br >
$ curday = $ d - $ firstdow + 1 ,
8
Start en ny tabelrække , hvis de nuværende tæller lander på den første tabel kolonne. $ d % 7 returnerer resten af $ d /7 . Når $ d % 7 er 0, optællingen er på "Sunday " kolonnen
if ( ( $ d% 7) == 0) echo "
\\ n"; .
< br > 9 Udskriv tabelcelle. Når $ d har talt op til den første tabel celle, der indeholder et gyldigt dag i måneden , vil det udskrive værdien for den pågældende dag i tabellen celle
echo "
" . If ($ d > = $ firstdow ) echo $ curday , echo " | \\ n";
10 Afslut tabelrække , hvis de nuværende tæller lander på den sidste tabel kolonne. Når $ d% 7 er 6 , optællingen er på "Saturday " kolonnen
if ( ( $ d% 7) == 6) echo "
\\ n"; .
11
End for-løkken , PHP container, og tabellen .
} ? >