|
1.11 Datum
Se mer i manualen: sidan om datetime 
Normala tider antas vara efter 1 januari 1970.
date
Funktionen date kan användas för att antingen få
nuvarade tid formaterat som man vill, eller skapa ett datum. För
skapande av datum används oftast mktime, se nedan. Man använder
koder för att få in de olika delarna i en tid /datum.
<?php
# alla format för tid
$format["a"] = "am eller pm";
$format["A"] = "AM eller PM";
$format["B"] = "Swatch Internet time";
$format["d"] = "Dag i månaden, 2 siffror med 0-utfyllnad: 01 - 31";
$format["D"] = "Engelsk förkortning av veckodagen";
$format["F"] = "Engelskt namn på månaden";
$format["g"] = "Timme 12-timmars format utan 0-utfylldnad: 1 - 12";
$format["G"] = "Timme 24-timmars format utan 0-utfylldnad: 0 - 23";
$format["h"] = "Timme 12-timmars format med 0-utfylldnad: 01 - 12";
$format["H"] = "Timme 24-timmars format med 0-utfylldnad: 00 - 23";
$format["i"] = "Minuter: 00- 59";
$format["I"] = "(stora i) 1 om sommartid, 0 annars";
$format["j"] = "Dag i månaden, 2 siffror utan 0-utfyllnad: 1 - 31";
$format["l"] = "(Lilla L) Veckodagens (Engelska) namn";
$format["L"] = "1 om skottår, 0 annars";
$format["m"] = "Månadens nummer med 0-utfyllnad: 01 - 12";
$format["M"] = "Månadens (engelsk) förkortning";
$format["n"] = "Månadens nummer utan 0-utfyllnad: 1 - 12";
$format["O"] = "Skillnaden från Greenwich tid i timmar +0200
(- är västerut + är österut)";
$format["r"] = "RFC 822 formatterat datum:
\"Thu, 21 Dec 2000 16:01:07 +0200\" PHP 4.0.4 =>";
$format["s"] = "Sekunder 00 - 59";
$format["S"] = "Engelskt suffix, 2 tecken: th, nd, rd";
$format["t"] = "Amtal dagar i aktuell månad: 28 - 31";
$format["T"] = "Tidszon inställning. t.ex.MDT";
$format["U"] = "Sekunder sedan epoken (?)";
$format["w"] = "Veckodag 0 = Söndag - 6 Lördag";
$format["W"] = "ISO-8601 wekckonummer PHP 4.1.0 =>";
$format["Y"] = "År med 4 siffror: 2002";
$format["y"] = "År med 2 siffror: 02";
$format["z"] = "Dag i året: 0 - 365";
$format["Z"] = "Sekunder från UTC (Greenwich): -43200 - 43200
(- är västerut + är österut)";
echo "<dl>";
foreach ($format as $tecken=>$betydelse)
{
echo "<dt><br>date(\"" .$tecken . "\") = " . date($tecken) ;
echo "<dd>" . nl2br($betydelse) ;
}
echo "</dl>";
?>
Listning 1.11.1 - samples/s88.php
date("a") = pm- am eller pm
date("A") = PM- AM eller PM
date("B") = 794- Swatch Internet time
date("d") = 21- Dag i månaden, 2 siffror med 0-utfyllnad: 01 - 31
date("D") = Wed- Engelsk förkortning av veckodagen
date("F") = April- Engelskt namn på månaden
date("g") = 6- Timme 12-timmars format utan 0-utfylldnad: 1 - 12
date("G") = 18- Timme 24-timmars format utan 0-utfylldnad: 0 - 23
date("h") = 06- Timme 12-timmars format med 0-utfylldnad: 01 - 12
date("H") = 18- Timme 24-timmars format med 0-utfylldnad: 00 - 23
date("i") = 04- Minuter: 00- 59
date("I") = 0- (stora i) 1 om sommartid, 0 annars
date("j") = 21- Dag i månaden, 2 siffror utan 0-utfyllnad: 1 - 31
date("l") = Wednesday- (Lilla L) Veckodagens (Engelska) namn
date("L") = 0- 1 om skottår, 0 annars
date("m") = 04- Månadens nummer med 0-utfyllnad: 01 - 12
date("M") = Apr- Månadens (engelsk) förkortning
date("n") = 4- Månadens nummer utan 0-utfyllnad: 1 - 12
date("O") = +0000- Skillnaden från Greenwich tid i timmar +0200
(- är västerut + är österut) date("r") = Wed, 21 Apr 2021 18:04:09 +0000- RFC 822 formatterat datum:
"Thu, 21 Dec 2000 16:01:07 +0200" PHP 4.0.4 => date("s") = 09- Sekunder 00 - 59
date("S") = st- Engelskt suffix, 2 tecken: th, nd, rd
date("t") = 30- Amtal dagar i aktuell månad: 28 - 31
date("T") = UTC- Tidszon inställning. t.ex.MDT
date("U") = 1619028249- Sekunder sedan epoken (?)
date("w") = 3- Veckodag 0 = Söndag - 6 Lördag
date("W") = 16- ISO-8601 wekckonummer PHP 4.1.0 =>
date("Y") = 2021- År med 4 siffror: 2002
date("y") = 21- År med 2 siffror: 02
date("z") = 110- Dag i året: 0 - 365
date("Z") = 0- Sekunder från UTC (Greenwich): -43200 - 43200
(- är västerut + är österut)
Resultat av listning 1.11.1
Om man vill få in något av de reserverade tecknen och inte
vill att detta skall tolkas så måste man sätta \ före.
Om tecknet har en allmän betydelse i PHP, t.ex. \n (radbyte) måste
man sätta \\n. Tex:
date("\\t\i\d: h:i:s"); ger
tid: 06:04:09
mktime
<?php
# Parametrarna är
# timme
# minut
# sekund
# månad
# dag
# år
$tid = mktime(22, 12, 12, 10, 21, 2002 );
echo $tid . "<br>";
echo date("j.n.Y h:i:s", $tid ) . "<br>";
# är man inte intresserad av t.ex timmar kan man sätta 0
$tid = mktime(0, 0, 0, 7, 11, 2002 );
echo date("j.n.Y", $tid ) . "<br>";
# om en siffra är för stor sker en automatisk och korrekt omvandling
# 11.13.2002 blir således 11.1.2003
$tid = mktime(0, 0, 0, 13, 11, 2002 );
echo date("j.n.Y", $tid ) . "<br>";
# idag + 3 månder och 2 dar
$tid = mktime(0, 0, 0, date("n") + 3, date("j") + 2 , date("Y") );
echo date("j.n.Y", $tid ) . "<br>";
?>
Listning 1.11.2 - samples/s89.php
1035238332 21.10.2002 10:12:12 11.7.2002 11.1.2003 23.7.2021
Resultat av listning 1.11.2
|