Funkce PHP Date() & Time: Jak získat aktuální časové razítko?

Funkce PHP date().

Datumová funkce PHP je vestavěná funkce, která zjednodušuje práci s datovými typy. Funkce data PHP se používá k formátování data nebo času do formátu čitelného člověkem. Lze jej použít k zobrazení data vydání článku. záznam poslední aktualizace dat do databáze.

Syntaxe data PHP a příklad

PHP Date následující základní syntaxi

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

TADY,

  • „date(…)“ je funkce, která vrací aktuální časové razítko PHP na serveru.
  • „formát“ je obecný formát, který chceme, aby byl náš výstup, tj.
    • „Ymd“ pro formát data PHP YYYY-MM-DD
    • „Y“ pro zobrazení aktuálního roku
    • „[časové razítko]“ je nepovinné. Pokud nebylo zadáno žádné časové razítko, PHP získá aktuální datum a čas PHP na serveru.

Podívejme se na základní příklad, který zobrazuje aktuální rok.

<?php

echo date("Y");

?>

Výstup:

2018

Co je časové razítko?

Časové razítko v PHP je číselná hodnota v sekundách mezi aktuálním časem a hodnotou 1st leden 1970 00:00:00 greenwichský čas (GMT).

Hodnota vrácená funkcí času závisí na výchozím časovém pásmu.

Výchozí časové pásmo je nastaveno v souboru php.ini.

Lze jej také nastavit programově pomocí funkce date_default_timezone_set.

Níže uvedený kód zobrazuje aktuální časové razítko

<?php

echo time();

?>

Za předpokladu, že jste uložili soubor timestamp.php do složky phptuts, přejděte na adresu URL http://localhost/phptuts/timestamp.php

TimeStamp

Poznámka: Hodnota časového razítka PHP není konstanta. Mění se každou vteřinu.

Získání seznamu dostupných identifikátorů časových pásem

Než se podíváme na to, jak programově nastavit výchozí časové pásmo, podívejme se, jak získat seznam podporovaných časových pásem.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

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

echo $list . "<br/>";

}
?>

TADY,

  • “$timezone_identifiers = DateTimeZone::listIdentifiers();” volá statickou metodu listIdentifiers třídy DateandTime Zone vestavěné do třídy. Metoda listIdentifiers vrací seznam konstant, které jsou přiřazeny proměnné $timezone_identifiers.
  • „foreach{…}“ prochází číselným polem a vypisuje hodnoty.

Za předpokladu, že jste uložili soubor list_time_zones.php do složky phptuts, přejděte na adresu URL http://localhost/phptuts/list_time_zones.php

 Identifikátory časového pásma

PHP nastavuje časové pásmo programově

Funkce date_default_timezone_set umožňuje nastavit výchozí časové pásmo z PHP skriptu.

Nastavené časové pásmo pak bude použito pro všechna data v Funkční skripty PHP. Má následující syntaxi.

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

TADY,

  • „date_default_timezone_set()“ je funkce, která nastavuje výchozí časové pásmo
  • „string $timezone_identifier“ je identifikátor časového pásma

Skript níže zobrazuje čas podle výchozího časového pásma nastaveného v php.ini.

Poté změní výchozí časové pásmo na Asii/Kalkatu a znovu zobrazí čas.

<?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");
?>

Za předpokladu, že jste uložili soubor set_time_zone.php do složky phptuts, přejděte na adresu URL http://localhost/phptuts/set_time_zone.php

PHP nastavuje časové pásmo programově

Funkce PHP Mktime

Funkce mktime vrací časové razítko v a Unix formát.

Má následující syntaxi.

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

TADY,

  • „mktime(…)“ je funkce časového razítka v PHP
  • „hodina“ je volitelná, jedná se o počet hodin
  • „minuta“ je volitelná, jedná se o počet minut
  • „sekunda“ je volitelná, jedná se o počet sekund
  • „měsíc“ je volitelný, jedná se o číslo měsíce
  • „den“ je volitelný, je to číslo dne
  • „rok“ je nepovinný, je to číslo roku
  • „is_dst“ je nepovinné, používá se k určení denního času (DST). 1 je pro DST, 0, pokud není, a -1, pokud není známo.

Podívejme se nyní na příklad, který pomocí funkce mktime vytvoří časové razítko pro datum 13. 10. 2025.

<?php

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

?>

TADY,

  • „0,0,0“ je hodina, minuta a sekundy.
  • „13“ je den v měsíci
  • „10“ je měsíc v roce
  • „2025“ je rok

Výstup:

1760328000

Odkaz na funkci PHP Date

Níže uvedená tabulka ukazuje běžné parametry používané při práci s datovacími funkcemi PHP.

Časové parametry PHP

Parametr Description Příklad
"R" Vrátí celé datum a čas
<?php
echo date("r");
?>
"a", "A" Vrací, zda je aktuální čas dopoledne nebo odpoledne, dopoledne nebo odpoledne
<?php
echo date("a");
echo date("A");
?>
"g", "G" Vrátí hodinu bez úvodních nul [1 až 12], resp. [0 až 23]
<?php
echo date("g"); 
echo date("G");
?>
"h", "H" Vrátí hodinu s úvodními nulami [01 až 12], [00 až 23]
<?php
echo date("h"); 
echo date("H");
?>
"je" Vrátí minuty/sekundy s nulami na začátku [00 až 59]
<?php
echo date("i"); 
echo date("s");
?>

Parametry dne

Parametr Description Příklad
„D“ Vrátí den v měsíci s úvodními nulami [01 až 31]
<?php
echo date("d");
?>
"j" Vrátí den v měsíci bez úvodních nul [1 až 31]
<?php
echo date("j");
?>
„D“ Vrátí první 3 písmena názvu dne [Sub to So]
<?php
echo date("D");
?>
"L" Vrátí název dne v týdnu [neděle až sobota]
<?php
echo date("l");
?>
"V" Vrátí den v týdnu bez úvodních nul [0 až 6] Neděle je reprezentována nulou (0) až sobota reprezentovaná šesti (6)
<?php
echo date("w");
?>
„Z“ Vrátí den v roce bez úvodních mezer [0 až 365]
<?php
echo date("z");
?>

Parametry měsíce

Parametr Description Příklad
"M" Vrátí číslo měsíce s úvodními nulami [01 až 12]
<?php
echo date("m");
?>
„N“ Vrátí číslo měsíce bez úvodních nul [01 až 12]
<?php
echo date("n");
?>
„M“ Vrátí první 3 písmena názvu měsíce [leden až prosinec]
<?php
echo date("M");
?>
"F" Vrátí název měsíce [leden až prosinec]
<?php
echo date("F");
?>
„T“ Vrátí počet dní v měsíci [28 až 31]
<?php
echo date("t");
?>

Parametry roku

Parametr Description Příklad
"L" Vrátí 1, pokud se jedná o přestupný rok, a 0, pokud se nejedná o přestupný rok
<?php
echo date("L");
?>
„Y“ Vrátí čtyřmístný formát roku
<?php
echo date("Y");
?>
„Y“ Vrátí dvoumístný (2) číselný formát roku (00 až 99)
<?php
echo date("y");
?>

Shrnutí

  • Funkce data v PHP se používá k formátování časového razítka do lidsky požadovaného formátu.
  • Časové razítko je počet sekund mezi aktuálním časem a 1st ledna 1970 00:00:00 GMT. Je také známý jako časové razítko UNIX.
  • Všechny funkce PHP date() používají výchozí časové pásmo nastavené v souboru php.ini
  • Výchozí časové pásmo lze nastavit i programově pomocí PHP skriptů.

Shrňte tento příspěvek takto: