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

TimeStamp

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

Identyfikatory stref czasowych

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

PHP programowo ustawia strefę czasową

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.