Funkcja daty () i czasu w PHP: jak uzyskać bieżący znacznik czasu?
⚡ Inteligentne podsumowanie
Funkcja date() w PHP formatuje znaczniki czasu do postaci czytelnej dla człowieka. W tym przewodniku wyjaśniono składnię daty, znacznik czasu w systemie Unix, sposób wyświetlania i ustawiania stref czasowych, funkcję mktime do tworzenia znaczników czasu oraz pełne omówienie znaków formatujących godzinę, dzień, miesiąc i rok.

PHP data() Funkcja
Funkcja daty w PHP to wbudowana funkcja, która upraszcza pracę z typami danych daty. Służy do formatowania daty lub godziny do formatu czytelnego dla człowieka. Może służyć do wyświetlania daty publikacji artykułu lub rejestrowania daty ostatniej aktualizacji danych w bazie danych.
Składnia daty PHP i przykład
Składnia funkcji PHP date() jest następująca.
<?php date(format,[timestamp]); ?>
TUTAJ,
- „date(…)” to funkcja zwracająca bieżący znacznik czasu sformatowany w PHP na serwerze.
- „format” to ogólny format, w jakim chcemy, aby wyglądał nasz wynik, na przykład:
- „Ymd” dla formatu daty PHP RRRR-MM-DD
- „Y”, aby wyświetlić bieżący rok
- „[znacznik czasu]” jest opcjonalny. Jeśli znacznik czasu nie zostanie podany, PHP użyje aktualnej daty i godziny na serwerze.
Przyjrzyjmy się podstawowemu przykładowi wyświetlającemu bieżący rok.
<?php echo date("Y"); ?>
Wyjście:
2026
Co to jest znacznik czasu?
Znacznik czasu w PHP to wartość liczbowa w sekundach pomiędzy czasem bieżącym a wartością w punkcie 1st Styczeń 1970 00:00:00 Czas Greenwich (GMT).
Wartość zwracana przez funkcję time zależy od domyślnej strefy czasowej.
Domyślna strefa czasowa jest ustawiona w pliku php.ini. Można ją również ustawić programowo za pomocą funkcji date_default_timezone_set.
Poniższy kod wyświetla aktualny znacznik czasu.
<?php
echo time();
?>
Zakładając, że zapisałeś plik timestamp.php w folderze phptuts, przejdź do URL http://localhost/phptuts/timestamp.php
Uwaga: wartość znacznika czasu nie jest stała. Zmienia się co sekundę.
Pobieranie listy dostępnych identyfikatorów stref czasowych
Zanim przyjrzymy się, jak programowo ustawić domyślną strefę czasową, zobaczmy, jak uzyskać listę obsługiwanych stref czasowych.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
TUTAJ,
- „$timezone_identifiers = DateTimeZone::listIdentifiers();” wywołuje metodę statyczną listIdentifiers wbudowanej klasy DateTimeZone. Metoda listIdentifiers zwraca listę identyfikatorów przypisanych do zmiennej $timezone_identifiers.
- “foreach{…}” iteruje po tablicy i drukuje wartości.
Zakładając, że zapisałeś plik list_time_zones.php w folderze phptuts, przejdź do URL http://localhost/phptuts/list_time_zones.php
PHP programowo ustawia strefę czasową
Funkcja date_default_timezone_set pozwala ustawić domyślną strefę czasową ze skryptu PHP.
Ustawiona strefa czasowa będzie obowiązywać dla wszystkich dat Funkcje PHP w swoich skryptach. Ma następującą składnię.
<?php date_default_timezone_set(string $timezone_identifier); ?>
TUTAJ,
- „date_default_timezone_set()” to funkcja ustawiająca domyślną strefę czasową
- „string $timezone_identifier” to identyfikator strefy czasowej
Poniższy skrypt wyświetla czas zgodnie z domyślną strefą czasową ustawioną w pliku php.ini. Następnie zmienia domyślną strefę czasową na Azja/Kalkuta i ponownie wyświetla godzinę.
<?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"); ?>
Zakładając, że zapisałeś plik set_time_zone.php w folderze phptuts, przejdź do URL http://localhost/phptuts/set_time_zone.php
Funkcja PHP Mktime
Funkcja mktime zwraca znacznik czasu w pliku a Unix Format.
Ma następującą składnię.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
TUTAJ,
- „mktime(…)” to funkcja znacznika czasu tworząca PHP
- „godzina” jest opcjonalna, jest to numer godziny
- „minuta” jest opcjonalna; jest to liczba minut
- „sekunda” jest opcjonalna; jest to liczba sekund
- „miesiąc” jest opcjonalny; jest to numer miesiąca
- „dzień” jest opcjonalny, jest to numer dnia
- „rok” jest opcjonalny; jest to numer roku
- „is_dst” jest opcjonalne; służy do określenia czasu letniego (DST). 1 oznacza czas letni, 0 oznacza, że czas letni nie jest letni, a -1 oznacza, że czas letni jest nieznany.
Przyjrzyjmy się teraz przykładowi, który tworzy znacznik czasu dla daty 13/10/2025 za pomocą funkcji mktime.
<?php
echo mktime(0,0,0,10,13,2025);
?>
TUTAJ,
- „0,0,0” to odpowiednio godzina, minuta i sekundy.
- „10” to miesiąc w roku
- „13” to dzień miesiąca
- „2025” to rok
Wyjście:
1760328000
Odniesienie do formatu daty PHP
Poniższe tabele przedstawiają powszechnie używane znaki formatujące podczas pracy z funkcjami daty PHP.
Parametry czasu
| Parametr | OPIS | Przykład |
|---|---|---|
| „R” | Zwraca pełną datę i godzinę |
<?php echo date("r"); ?> |
| „a”, „A” | Zwraca informację, czy bieżąca godzina jest odpowiednio przed południem lub po południu, przed południem lub po południu |
<?php echo date("a"); echo date("A"); ?> |
| „g”, „G” | Zwraca godzinę bez zer wiodących, odpowiednio [1 do 12] i [0 do 23]. |
<?php echo date("g"); echo date("G"); ?> |
| „h”, „H” | Zwraca godzinę z wiodącymi zerami [01 do 12], [00 do 23] odpowiednio |
<?php echo date("h"); echo date("H"); ?> |
| "Jest" | Zwraca minuty/sekundy z zerami wiodącymi [00 do 59] |
<?php echo date("i"); echo date("s"); ?> |
Parametry dnia
| Parametr | OPIS | Przykład |
|---|---|---|
| "re" | Zwraca dzień miesiąca z zerami wiodącymi [01 do 31] |
<?php echo date("d"); ?> |
| "J" | Zwraca dzień miesiąca bez zer wiodących [1 do 31] |
<?php echo date("j"); ?> |
| "RE" | Zwraca pierwsze 3 litery nazwy dnia [od niedz. do sob.] |
<?php echo date("D"); ?> |
| „L” | Zwraca nazwę dnia tygodnia [od niedzieli do soboty] |
<?php echo date("l"); ?> |
| „w” | Zwraca dzień tygodnia bez początkowych zer [od 0 do 6]; niedziela jest reprezentowana przez zero (0), a sobota przez sześć (6). |
<?php echo date("w"); ?> |
| „z” | Zwraca dzień roku bez spacji wiodących [0 do 365] |
<?php echo date("z"); ?> |
Parametry miesiąca
| Parametr | OPIS | Przykład |
|---|---|---|
| "M" | Zwraca numer miesiąca z zerami wiodącymi [01 do 12] |
<?php echo date("m"); ?> |
| „N” | Zwraca numer miesiąca bez zer wiodących [1 do 12] |
<?php echo date("n"); ?> |
| „M” | Zwraca pierwsze 3 litery nazwy miesiąca [od stycznia do grudnia] |
<?php echo date("M"); ?> |
| "F" | Zwraca nazwę miesiąca [od stycznia do grudnia] |
<?php echo date("F"); ?> |
| „T” | Zwraca liczbę dni w miesiącu [28 do 31] |
<?php echo date("t"); ?> |
Parametry roku
| Parametr | OPIS | Przykład |
|---|---|---|
| "L" | Zwraca wartość 1, jeśli jest to rok przestępny i 0, jeśli nie jest to rok przestępny |
<?php echo date("L"); ?> |
| "Y" | Zwraca czterocyfrowy format roku |
<?php echo date("Y"); ?> |
| „Y” | Zwraca dwucyfrowy format roku (od 00 do 99) |
<?php echo date("y"); ?> |



