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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

date("n") = 7
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") = Tue, 23 Jul 2019 19:54:05 +0400
RFC 822 formatterat datum:
"Thu, 21 Dec 2000 16:01:07 +0200" PHP 4.0.4 =>

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

date("S") = rd
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") = 1563897245
Sekunder sedan epoken (?)

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

date("W") = 30
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") = 203
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: 07:54:05

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
25.10.2019
Resultat av listning 1.11.2

 

   Börja härDatum