några sidor på nätet om PHP programmering

Sök efter  
Börja här Uppgifter Testa dig själv Tips Sidokarta mm. Länkar Sök

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") = 552
Swatch Internet time

date("d") = 12
Dag i månaden, 2 siffror med 0-utfyllnad: 01 - 31

date("D") = Thu
Engelsk förkortning av veckodagen

date("F") = December
Engelskt namn på månaden

date("g") = 4
Timme 12-timmars format utan 0-utfylldnad: 1 - 12

date("G") = 16
Timme 24-timmars format utan 0-utfylldnad: 0 - 23

date("h") = 04
Timme 12-timmars format med 0-utfylldnad: 01 - 12

date("H") = 16
Timme 24-timmars format med 0-utfylldnad: 00 - 23

date("i") = 15
Minuter: 00- 59

date("I") = 0
(stora i) 1 om sommartid, 0 annars

date("j") = 12
Dag i månaden, 2 siffror utan 0-utfyllnad: 1 - 31

date("l") = Thursday
(Lilla L) Veckodagens (Engelska) namn

date("L") = 0
1 om skottår, 0 annars

date("m") = 12
Månadens nummer med 0-utfyllnad: 01 - 12

date("M") = Dec
Månadens (engelsk) förkortning

date("n") = 12
Månadens nummer utan 0-utfyllnad: 1 - 12

date("O") = +0400
Skillnaden från Greenwich tid i timmar +0200
(- är västerut + är österut)

date("r") = Thu, 12 Dec 2019 16:15:54 +0400
RFC 822 formatterat datum:
"Thu, 21 Dec 2000 16:01:07 +0200" PHP 4.0.4 =>

date("s") = 54
Sekunder 00 - 59

date("S") = th
Engelskt suffix, 2 tecken: th, nd, rd

date("t") = 31
Amtal dagar i aktuell månad: 28 - 31

date("T") = GST
Tidszon inställning. t.ex.MDT

date("U") = 1576152954
Sekunder sedan epoken (?)

date("w") = 4
Veckodag 0 = Söndag - 6 Lördag

date("W") = 50
ISO-8601 wekckonummer PHP 4.1.0 =>

date("Y") = 2019
År med 4 siffror: 2002

date("y") = 19
År med 2 siffror: 02

date("z") = 345
Dag i året: 0 - 365

date("Z") = 14400
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: 04:15:54

mktime

<?php
    
# Parametrarna är 
    # timme
    # minut
    # sekund
    # månad
    # dag
    # år
    
    
$tid mktime(22121210212002 );
    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(0007112002 );
    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(00013112002 );
    echo 
date("j.n.Y"$tid ) . "<br>";

    
# idag + 3 månder och 2 dar
    
$tid mktime(000date("n") + 3date("j") + date("Y") );    
    echo 
date("j.n.Y"$tid ) . "<br>";
?>
Listning 1.11.2 - samples/s89.php

1035223932
21.10.2002 10:12:12
11.7.2002
11.1.2003
14.3.2020
Resultat av listning 1.11.2

 

   Börja härDatum