PHP Dato og Tid

PHP date() funktionen bruges til at formatere dato eller tid.

PHP Date() funktionen

PHP Date() funktionen formaterer tidsstempeln til en læsbar dato og tid.

syntaks

date(format,timestamp)
Parameter Beskrivelse
format Obligatorisk. Angiver formatet for tidsstempel.
timestamp Valgfri. Angiver tidsstempel. Standard er nuværende tid og dato.

Kommentar:Tidsstempel er en tegnsekvens, der repræsenterer datoen og tidspunktet for, at et specifikt begivenhed sker.

Få en simpel dato

Formatparametret for date() funktionen er obligatorisk, de bestemmer hvordan dato eller tid skal formateres.

Her er nogle almindelige tegn, der bruges til datoer:

  • d - Angiver dagen i måneden (01-31)
  • m - Angiver måneden (01-12)
  • Y - Angiver året (fire cifre)
  • 1 - Angiver ugens dag

Andre tegn, såsom "/", "." eller "-" kan også indsættes i tegnene for at øge formaterne.

Følgende eksempler bruger tre forskellige metoder til at formatere dagens dato:

Eksempel

<?php
echo "I dag er " . date("Y/m/d") . "<br>";
echo "I dag er " . date("Y.m.d") . "<br>";
echo "I dag er " . date("Y-m-d") . "<br>";
echo "I dag er " . date("l");
?>

Kør eksempel

PHP-advarsel - automatisk copyright-år

Brug funktionen date() til automatisk at opdatere versionsåret på din hjemmeside:

Eksempel

© 2010-<?php echo date("Y")?>

Kør eksempel

Få enkel tid

Disse tegn bruges ofte i tid:

  • h - timer med fører zero i 12-timers format
  • i - minutter med fører zero
  • s - sekunder med fører zero (00-59)
  • a - lavet foran formiddag og eftermiddag (am eller pm)

Følgende eksempel udskriver den nuværende tid i et angivet format:

Eksempel

<?php
echo "Nuværende tid er " . date("h:i:sa");
?>

Kør eksempel

Kommentar:Bemærk, at PHP-funktionen date() returnerer serverens nuværende dato/tid!

Få tidszone

Hvis den tid, der returneres fra koden, ikke er korrekt, kan det skyldes, at din server er placeret i et andet land eller er indstillet til en anden tidszone.

Derfor kan du indstille den zone, du har brug for, baseret på din specifikke placering.

Følgende eksempel sætter tidszonen til "Asia/Shanghai" og udskriver den nuværende tid i et angivet format:

Eksempel

<?php
date_default_timezone_set("Asia/Shanghai");
echo "Nuværende tid er " . date("h:i:sa");
?>

Kør eksempel

Opret dato ved hjælp af PHP mktime()

Valgfri tidsstempelparameter i funktionen date() bestemmer tidsstempeln. Hvis du ikke angiver et tidsstempel, bruges den nuværende dato og tid (som i det foregående eksempel).

Funktionen mktime() returnerer datoen som en Unix-tidsstempel. Unix-tidsstemplet indeholder antallet af sekunder mellem Unix-æraen (1. januar 1970 00:00:00 GMT) og den angivne tid.

syntaks

mktime(time,minut,sekund,måned,dag,år)

Følgende eksempel bruger en række parametre fra funktionen mktime() til at oprette dato og tid:

Eksempel

<?php
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "Dato er " . date("Y-m-d h:i:sa", $d);
?>

Kør eksempel

Opret dato ved hjælp af PHP strtotime() med en streng

PHP-funktionen strtotime() bruges til at konvertere menneskelæsbare streng til Unix-tid.

syntaks

strtotime(tid,nu)

Følgende eksempel opretter dato og tid ved hjælp af funktionen strtotime():

Eksempel

<?php
$d=strtotime("10:38pm 15. april 2015");
echo "Dato er " . date("Y-m-d h:i:sa", $d);
?>

Kør eksempel

PHP er meget klog på at konvertere strengene til datoer, så du kan bruge forskellige værdier:

Eksempel

<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>

Kør eksempel

Strtotime() er dog ikke perfekt, så husk at kontrollere de strengene, der indsættes.

Flere datoeksempler

Følgende eksempel viser datoen for næste lørdag:

Eksempel

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 uger",$startdate);
while ($startdate < $enddate) {
  echo date("M d", $startdate),"<br>";
  $startdate = strtotime("+1 uge", $startdate);
}
?>

Kør eksempel

Følgende eksempel viser antallet af dage før den 4. juli:

Eksempel

<?php
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "Der er: " . $d2 . " dage til den 31. december.";
?>

Kør eksempel

Komplet PHP dato referencehåndbog

For at få adgang til den fulde håndbog over alle datofunktioner, besøg vores PHP dato referencehåndbog.

Denne håndbog indeholder en kort beskrivelse af hver funktion samt eksempler på brug.