PHP Date() & Time Funktion: Hvordan får man det aktuelle tidsstempel?

⚡ Smart opsummering

PHP date()-funktionen formaterer tidsstempler til menneskeligt læsbare datoer og klokkeslæt. Denne gennemgang forklarer datosyntaksen, Unix-tidsstemplet, hvordan man viser og indstiller tidszoner, mktime-funktionen til at oprette tidsstempler og en fuld reference til tegnene i formaterne tid, dag, måned og år.

  • 📅 Hvad date() gør: Datofunktionen omdanner et tidsstempel til en formateret streng ved hjælp af tegn som Y, m og d for år, måned og dag.
  • ⏱️ Unix-tidsstempel: Et tidsstempel er antallet af sekunder siden 1. januar 1970 GMT, og time() returnerer den aktuelle værdi.
  • 🌍 Tidszoner: date_default_timezone_set ændrer den aktive tidszone, og DateTimeZone::listIdentifiers viser alle understøttede zoner.
  • 🔧 mktime: Funktionen mktime opbygger et tidsstempel ud fra en bestemt time, minut, sekund, måned, dag og år.
  • 🔤 Formatér tegn: Enkeltbogstaver styrer outputtet, for eksempel H for 24-timers tid, l for ugedagens navn og F for månedens navn.
  • 📐 Referencetabeller: Grupperede tabeller viser tegnene for klokkeslæt, dag, måned og år med et kørbart eksempel for hver.
  • 🤖 AI Assist: AI-værktøjer kan generere datoformatering og differencekode og hjælpe med at løse forvirrende tidszonefejl.

PHP date() Funktion

PHP date() Funktion

PHP-datofunktionen er en indbygget funktion, der forenkler arbejdet med datodatatyper. PHP-datofunktionen bruges til at formatere en dato eller et klokkeslæt til et menneskeligt læsbart format. Den kan bruges til at vise datoen for en artikels udgivelse eller registrere, hvornår data i en database sidst blev opdateret.

PHP Dato Syntaks & Eksempel

PHP date() har følgende grundlæggende syntaks.

<?php
date(format,[timestamp]);
?>

HER,

  • "date(…)" er den funktion, der returnerer det aktuelle tidsstempel formateret i PHP på serveren.
  • "Format" er det generelle format, vi ønsker, at vores output skal være i, for eksempel:
    • "Ymd" for PHP-datoformatet ÅÅÅÅ-MM-DD
    • "Y" for at vise det aktuelle år
  • “[tidsstempel]” er valgfrit. Hvis der ikke er angivet et tidsstempel, bruger PHP den aktuelle dato og det aktuelle klokkeslæt på serveren.

Lad os se på et simpelt eksempel, der viser det aktuelle år.

<?php

echo date("Y");

?>

Output:

2026

Hvad er et tidsstempel?

Et tidsstempel i PHP er en numerisk værdi i sekunder mellem det aktuelle tidspunkt og værdien ved 1.st Januar 1970 00:00:00 Greenwich Mean Time (GMT).

Den værdi, der returneres af tidsfunktionen, afhænger af standardtidszonen.

Standardtidszonen er angivet i php.ini-filen. Den kan også indstilles programmatisk ved hjælp af funktionen date_default_timezone_set.

Koden nedenfor viser det aktuelle tidsstempel.

<?php

echo time();

?>

Hvis du har gemt filen timestamp.php i phptuts-mappen, skal du gå til URL http://localhost/phptuts/timestamp.php

TimeStamp

Bemærk: Tidsstemplets værdi er ikke en konstant. Den ændrer sig hvert sekund.

Henter en liste over tilgængelige tidszone-id'er

Før vi ser på, hvordan man indstiller standardtidszonen programmatisk, lad os se på, hvordan man får en liste over understøttede tidszoner.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

HER,

  • "$timezone_identifiers = DateTimeZone::listIdentifiers();" kalder den statiske metode listIdentifiers i den indbyggede DateTimeZone-klasse. Metoden listIdentifiers returnerer en liste over identifikatorer, der er tildelt variablen $timezone_identifiers.
  • "foreach{…}" iterererer gennem arrayet og udskriver værdierne.

Hvis du har gemt filen list_time_zones.php i phptuts-mappen, skal du gå til URL http://localhost/phptuts/list_time_zones.php

Tidszoneidentifikatorer

PHP indstiller tidszone Programmatisk

Date_default_timezone_set-funktionen giver dig mulighed for at indstille standardtidszonen fra et PHP-script.

Den indstillede tidszone vil derefter blive brugt af alle datoer PHP-funktioner i dine scripts. Den har følgende syntaks.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

HER,

  • "date_default_timezone_set()" er den funktion, der indstiller standardtidszonen
  • "streng $timezone_identifier" er tidszone-id'en

Scriptet nedenfor viser tiden i henhold til standardtidszonen, der er indstillet i php.ini. Derefter ændres standardtidszonen til Asien/Calcutta og viser tiden igen.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Hvis du har gemt filen set_time_zone.php i phptuts-mappen, skal du gå til URL http://localhost/phptuts/set_time_zone.php

PHP indstiller tidszone Programmatisk

PHP Mktime funktion

Funktionen mktime returnerer tidsstemplet i en Unix format.

Den har følgende syntaks.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

HER,

  • "mktime(...)" er funktionen til at lave PHP-tidsstempel
  • "Time" er valgfri; det er timetallet
  • "Minut" er valgfrit; det er antallet af minutter
  • "sekund" er valgfrit; det er antallet af sekunder
  • "måned" er valgfrit; det er månedens nummer
  • "dag" er valgfrit; det er dagens nummer
  • "År" er valgfrit; det er årets nummer
  • "is_dst" er valgfri; den bruges til at bestemme sommertid (DST). 1 er for DST, 0 hvis den ikke er det, og -1 hvis den er ukendt.

Lad os nu se på et eksempel, der opretter et tidsstempel for datoen 13/10/2025 ved hjælp af mktime-funktionen.

<?php

echo mktime(0,0,0,10,13,2025);

?>

HER,

  • "0,0,0" er henholdsvis time, minut og sekund.
  • "10" er årets måned
  • "13" er dagen i måneden
  • "2025" er året

Output:

1760328000

PHP datoformatreference

Tabellerne nedenfor viser de almindelige formattegn, der bruges, når man arbejder med PHP-datofunktioner.

Tidsparametre

Parameter Beskrivelse Eksempel
"R" Returnerer den fulde dato og klokkeslæt
<?php
echo date("r");
?>
"en", "En" Returnerer, om det aktuelle klokkeslæt er henholdsvis am eller pm, AM eller PM
<?php
echo date("a");
echo date("A");
?>
"g", "G" Returnerer timen uden indledende nuller henholdsvis [1 til 12], [0 til 23]
<?php
echo date("g");
echo date("G");
?>
"h", "H" Returnerer timen med indledende nuller [01 til 12], [00 til 23] henholdsvis
<?php
echo date("h");
echo date("H");
?>
"i", "s" Returnerer minutter/sekunder med indledende nuller [00 til 59]
<?php
echo date("i");
echo date("s");
?>

Dagsparametre

Parameter Beskrivelse Eksempel
“D” Returnerer dagen i måneden med foranstillede nuller [01 til 31]
<?php
echo date("d");
?>
"j" Returnerer dagen i måneden uden indledende nuller [1 til 31]
<?php
echo date("j");
?>
”D” Returnerer de første 3 bogstaver i dagens navn [søn til lør]
<?php
echo date("D");
?>
"L" Returnerer ugens dagsnavn [søndag til lørdag]
<?php
echo date("l");
?>
"I" Returnerer ugedagen uden indledende nuller [0 til 6]; søndag er repræsenteret af nul (0) til og med lørdag repræsenteret af seks (6)
<?php
echo date("w");
?>
"z" Returnerer dagen i året uden indledende mellemrum [0 til 365]
<?php
echo date("z");
?>

Måneds parametre

Parameter Beskrivelse Eksempel
”M” Returnerer månedsnummeret med foranstillede nuller [01 til 12]
<?php
echo date("m");
?>
“N” Returnerer månedsnummeret uden indledende nuller [1 til 12]
<?php
echo date("n");
?>
"M" Returnerer de første 3 bogstaver i månedens navn [Jan til Dec]
<?php
echo date("M");
?>
"F" Returnerer månedens navn [januar til december]
<?php
echo date("F");
?>
“T” Returnerer antallet af dage i en måned [28 til 31]
<?php
echo date("t");
?>

Års parametre

Parameter Beskrivelse Eksempel
"L" Returnerer 1, hvis det er et skudår, og 0, hvis det ikke er et skudår
<?php
echo date("L");
?>
"Y" Returnerer det firecifrede årsformat
<?php
echo date("Y");
?>
"Y" Returnerer det tocifrede årsformat (00 til 99)
<?php
echo date("y");
?>

Ofte Stillede Spørgsmål

date() er en simpel procedurefunktion, der formaterer et tidsstempel. DateTime-klassen er objektorienteret og understøtter aritmetik, sammenligning, tidszoner og uforanderlighed, hvilket gør den bedre til kompleks datologik i større applikationer.

Brug strtotime(), som læser formater som '2025-10-13' eller 'next' Monday' og returnerer et Unix-tidsstempel. Til streng parsing af et kendt format er DateTime::createFromFormat sikrere, fordi det fejler tydeligt ved ugyldigt input.

Opret to DateTime-objekter og kald diff(), som returnerer et DateInterval. Du kan derefter læse dage, måneder eller år, for eksempel $start->diff($end)->days, for at få det samlede antal dage mellem datoerne.

Ja. Beskriv input- og outputformatet, og AI kan producere date(), DateTime eller strtotime-kode, inklusive tilføjelse af intervaller eller konvertering af tidszoner. Test det med kanttilfælde som skudår og månedsafslutninger.

Ja. AI kan finde et manglende date_default_timezone_set-kald, en uoverensstemmelse mellem serverens og displayets tidszone eller problemer med sommertid og derefter anbefale at bruge DateTime med eksplicitte tidszoner for at gøre adfærden forudsigelig.

Opsummer dette indlæg med: