Funkcja daty () i czasu w PHP: jak uzyskać bieżący znacznik czasu?
PHP data() Funkcja
Funkcja daty PHP to wbudowana funkcja, która upraszcza pracę z typami danych daty. Funkcja daty PHP służy do formatowania daty lub godziny do formatu czytelnego dla człowieka. Może być używana do wyświetlania daty opublikowania artykułu. Rejestruje ostatnią aktualizację danych w bazie danych.
Składnia daty PHP i przykład
PHP Date to następująca podstawowa składnia
<?php date(format,[timestamp]); ?>
TUTAJ,
- „data(…)” to funkcja zwracająca bieżący znacznik czasu PHP na serwerze.
- „format” to ogólny format, jaki ma mieć nasz wynik, tj.;
- „Ymd” dla formatu daty PHP RRRR-MM-DD
- „Y”, aby wyświetlić bieżący rok
- „[znacznik czasu]” jest opcjonalne. Jeśli nie podano znacznika czasu, PHP pobierze aktualną datę i godzinę PHP na serwerze.
Spójrzmy na podstawowy przykład wyświetlający bieżący rok.
<?php echo date("Y"); ?>
Wyjście:
2018
Co to jest znacznik czasu?
Znacznik czasu w PHP to wartość liczbowa w sekundach pomiędzy bieżącym czasem a wartością na poziomie 1st Styczeń 1970, 00:00:00 czasu uniwersalnego 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 go również ustawić programowo za pomocą funkcji date_default_timezone_set.
Poniższy kod wyświetla bieżący znacznik czasu
<?php echo time(); ?>
Zakładając, że zapisałeś plik timestamp.php w folderze phptuts, przejdź do adresu URL http://localhost/phptuts/timestamp.php
Uwaga: wartość znacznika czasu PHP 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ą, przyjrzyjmy się, 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 w klasę strefy DateandTime. Metoda listIdentifiers zwraca listę stałych przypisanych do zmiennej $timezone_identifiers.
- „foreach{…}” iteruje po tablicy numerycznej i wypisuje wartości.
Zakładając, że zapisałeś plik list_time_zones.php w folderze phptuts, przejdź do adresu 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 wówczas używana przez wszystkie daty w Skrypty funkcyjne PHP. 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 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 adresu 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 liczba godzin
- „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 i służy do określenia czasu letniego (DST). 1 oznacza czas letni, 0, jeśli nie, i -1, jeśli nie jest znane.
Przyjrzyjmy się teraz przykładowi, który tworzy znacznik czasu dla daty 13 za pomocą funkcji mktime.
<?php echo mktime(0,0,0,10,13,2025); ?>
TUTAJ,
- „0,0,0” to odpowiednio godzina, minuta i sekunda.
- „13” to dzień miesiąca
- „10” to miesiąc w roku
- „2025” to rok
Wyjście:
1760328000
Odniesienie do funkcji daty w PHP
Poniższa tabela pokazuje typowe parametry używane podczas pracy z funkcjami daty PHP.
Parametry czasu PHP
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 zerami wiodącymi odpowiednio od [01 do 12] i [00 do 23]. |
<?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 [Sub to Sat] |
<?php echo date("D"); ?> |
„L” | Zwraca nazwę dnia tygodnia [od niedzieli do soboty] |
<?php echo date("l"); ?> |
„w” | Zwraca dzień tygodnia bez zer wiodących [0 do 6] Niedziela jest reprezentowana przez zero (0) do soboty reprezentowana 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 [01 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 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 (2 do 00) |
<?php echo date("y"); ?> |
Podsumowanie
- Funkcja daty w PHP służy do formatowania znacznika czasu do pożądanego przez człowieka formatu.
- Znacznik czasu to liczba sekund pomiędzy bieżącym czasem a 1st Styczeń 1970, godzina 00:00:00 GMT. Znany jest również jako znacznik czasu UNIX.
- Wszystkie funkcje PHP date() korzystają z domyślnej strefy czasowej ustawionej w pliku php.ini
- Domyślną strefę czasową można również ustawić programowo za pomocą skryptów PHP.