Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

To oczywiste, że bardzo często programiści muszą pracować z datą i godziną. Najprostszym przykładem jest data i godzina wysłania wiadomości na forum. I oczywiście takie rzeczy można zrealizować PHP zwłaszcza, że ​​są ku temu możliwości praca z datą i godziną w PHP tylu.

Podstawowa funkcja związana z data i godzina w PHP, - Ten funkcja czasu()., która zwraca liczbę sekund, które minęły od tego czasu o północy 01.01.1970(narodziny epoki Uniksa):

czas echa();
?>

Uruchamiając ten skrypt, dowiesz się, ile sekund minęło od tego czasu o północy 01.01.1970 aż do momentu wezwania funkcje czasu(). w swoim skrypcie.

Oczywiście oprócz tej podstawowej funkcji, która jest obecna we wszystkich językach programowania, gdzie to możliwe pracować z datą i godziną(przynajmniej spośród tych, które znam) istnieje inna funkcja o nazwie randka():

$datagodzina = getdate();
foreach ($datagodzina jako $k=>$v)
echo "$k - $v
";
?>

Uruchamiając ten skrypt zobaczysz w tablicy zestaw kluczy i odpowiadające im wartości (jednocześnie powtórzyliśmy konstrukcję dotrzeć). Myślę, że teraz nie będzie Ci trudno znaleźć jakiekolwiek dane z tym związane data i godzina. Na przykład, aby wyświetlić bieżący czas, należy napisać następujący kod:

$datagodzina = getdate();
echo $datagodzina["godziny"]..":".$datagodzina["minuty"]..":".$datagodzina["sekundy"];
?>

Również funkcje getdate(). Istnieje opcjonalny parametr, który oznacza liczbę sekund, które upłynęły od tego czasu o północy 01.01.1970. Jest tak zrobione, że funkcja ta może zwracać nie tylko aktualny czas i datę, ale ogólnie rzecz biorąc dowolne:

$datagodzina = getdate(152353232);
echo $datagodzina["rok"];
?>

W rezultacie zobaczysz 1974 rok.

Jest też funkcja daty().. Polecam zapoznać się z opisem tej funkcji w podręczniku, ponieważ funkcja ta przyjmuje bardzo złożony parametr określający format wyjściowej daty. Elementów formatujących jest nieco ponad 30. A w poniższym przykładzie podam kilka z nich, a resztę zajrzyj do podręcznika, bo nie trzeba ich uczyć się na pamięć, ale zdecydowanie warto się z nimi zapoznać. Ale trzeba znać zasadę ich użycia i następujący przykład na ten temat:

echo date("Dzisiaj d.m.Y H:i:s");
?>

W rezultacie zobaczysz coś takiego: „ Dzisiaj 15.11.2010 21:44:24". Również funkcje daty(). Istnieje również drugi opcjonalny parametr, który określa znacznik czasu, dokładnie wartość równa liczbie sekund, które upłynęły od tego czasu o północy 01.01.1970. Przykład użycia drugiego parametru:

echo date("Pewnego razu był d.m.Y H:i:s", 5393235329);
?>

Jest też funkcja gmdate()., co jest kompletnym analogiem funkcje daty()., Ale funkcja gmdate(). pokazuje czas nie według strefy czasowej serwera, na którym działa skrypt, ale według Greenwicz. Oczywiście korzystając z tej funkcji, musisz zapisać wszystkie informacje o dacie i godzinie, które widzi użytkownik, a podczas wyprowadzania musisz dostosować się do strefy czasowej każdego użytkownika (oczywiście najlepiej):

echo gmdate("Teraz w Greenwich D M j H:i:s T Y")
?>

W rezultacie zobaczysz coś takiego: „ Pon. 15 listopada 18:52:45 GMT 2010”. Oczywiście wyświetli się inna data, ale w podobnym formacie. Gorąco polecam również skorzystanie z podręcznika i zapoznanie się z innymi elementami daty i godziny w PHP(Dałem tylko jedną trzecią), ponieważ funkcje date() i gmdate().- to najłatwiejszy i najszybszy sposób uzyskać datę i godzinę w niemal dowolnym formacie.

Przyjrzyjmy się, jak pracować z datami i godzinami w PHP.

Czas wUniksa-komputery

W przypadku komputerów z systemem Unix czas zaczyna się o północy 1 stycznia 1970 roku. Dowolną datę oblicza się jako liczbę sekund (oznaczoną znacznikiem czasu), które upłynęły od 1 stycznia 1970 r. Konwencje te są również używane w PHP. Na przykład chcemy wyjechać o jeden dzień do przodu. Następnie wystarczy dodać znacznik czasu o wymiarach 60 × 60 × 24 sekundy do bieżącej wartości.

Ten schemat śledzenia czasu znacznie upraszcza operacje na datach. Na przykład, jeśli jedna wartość sygnatury czasowej jest większa od drugiej, pierwsza wartość odpowiada późniejszej dacie niż druga.

Jednostki czasu na sekundę

Uzyskiwanie aktualnego czasu

W PHP, aby uzyskać aktualną wartość znacznika czasu, należy wywołać funkcję time() bez parametrów, na przykład:

Wiele funkcji daty i czasu w PHP przyjmuje jako argument wartość znacznika czasu. Na przykład funkcja date() zwraca ciąg daty sformatowany zgodnie z określonym formatem, na przykład:

Tworzenieznacznik czasu według daty

Funkcjonowaćmktime() utworzy znacznik czasu, jeśli określisz godzinę, minutę, sekundę, dzień miesiąca, miesiąc i rok:

Funkcjonowaćstrtotime()

Funkcja generuje znacznik czasu dla daty określonej frazą w języku angielskim, np. 1 kwietnia lub piątek.

Wartość daty należy podać w formacie RRRR-MM-DD. Jeśli funkcja strtotime nie może przekonwertować daty, zwraca wartość false.

Przykłady wykorzystania funkcjidata()

Wbudowana funkcja Floor() służy do odrzucania części ułamkowej wyniku.

Poniższy tekst można pominąć przy pierwszym czytaniu

Formaty dat w bazach danychMySQL'a

Format znacznika czasu w PHP jest niekompatybilny z formatem znacznika czasu w systemie DBMS MySQL.

MySQL ma trzy typy pól daty i czasu: DATA (data), TIME (godzina), DATETIME (data i godzina). Istnieje również specjalny typ danych TIMESTAMP, który działa jak DATETIME, ale jest automatycznie aktualizowany do bieżącego czasu za każdym razem, gdy wstawiane lub aktualizowane są rekordy tabeli.

Aby przekonwertować znacznik czasu w formacie PHP na format MySQL, możesz użyć następującego kodu:

Date("Y-m-d H:i:s", $znacznik czasu)

Na przykład możemy użyć „2008-10-01 13:23:40” jako daty i godziny.

Aby uzyskać znacznik czasu PHP z zapytania SELECT, musisz użyć funkcji SQL UNIX_TIMESTAMP():

WYBIERZ UNIX_TIMESTAMP(data) Z tabeli

MySQL ma wiele innych przydatnych funkcji do pracy z datą i godziną.

Do pracy z datami w PHP używane są różne funkcje. Naukę zaczniemy od funkcji czas.

Funkcja czasu, format znacznika czasu

Funkcjonować czas zwraca różnicę w sekundach pomiędzy 1 stycznia 1970 r I bieżący moment w czasie. Ta reprezentacja daty nazywana jest formatem znacznik czasu.

Dlaczego potrzebujesz znacznika czasu?

Czas w formacie znacznik czasu używany do znajdowania różnicy między datami w sekundach.

Na przykład mam znacznik czasu dla 1 stycznia bieżącego roku i znacznik czasu na obecną chwilę. Odejmę jedno od drugiego i otrzymam różnicę pomiędzy tymi momentami w kilka sekund.

Podzielę tę różnicę przez 60 i otrzymam różnicę w minutach (ponieważ minuta ma 60 sekund). Podzielę to przez kolejne 60 i otrzymam różnicę w godzinach. I tak dalej. czas Korzystanie z funkcji możemy uzyskać tylko bieżący moment w czasie. Aby uzyskać znacznik czasu dla mktime:

dowolną datę

Funkcjonować mktime należy skorzystać z funkcji czas funkcja mktime działa podobnie do funkcji, ale w przeciwieństwie do niego przyjmuje parametry: mktime(godzina, minuta, sekunda, miesiąc, dzień, rok)(pamiętaj, że

miesiąc i dzień są odwrócone). Spójrz na przykłady prac:

Parametry można pominąć na końcu . Jeśli nie wpiszemy roku (ostatni parametr), to automatycznie zostanie wzięty rok bieżący; jeśli nie wpiszemy również dnia (przedostatni parametr), to zostanie wzięty bieżący dzień i bieżący rok. I tak dalej: Rozwiążmy typowy czas I mktime zadanie NA. Musimy znaleźć

różnica w sekundach pomiędzy bieżącym czasem a południem (12 godzin, 0 minut, 0 sekund) 1 lutego (luty jest miesiącem numer 2) 2000: 612717139 (odśwież stronę, a numer ten ulegnie zmianie).

Uzbrojony w wiedzę na temat formatu znacznik czasu(będziemy go potrzebować później), przeanalizujmy bardziej przydatne funkcje do pracy z datami, na przykład funkcję daty.

funkcja daty

Funkcjonować data wyświetla bieżącą datę i godzinę w określonym formacie.

Format jest określany za pomocą poleceń sterujących (angielskie litery) i można między nimi wstawiać dowolne separatory (myślniki, dwukropki itd.).

Zespoły (Wielkie litery różnią się od zwykłych, uważaj!):

  • U– liczba sekund, które upłynęły od 1 stycznia 1970 r. (czyli znacznik czasu).
  • z– numer dnia od początku roku.
  • Y– rok, 4 cyfry.
  • y- rok, dwie cyfry.
  • M– numer miesiąca (z zerem na początku).
  • N– numer miesiąca bez zera wiodącego.
  • D– numer dnia w miesiącu, zawsze dwucyfrowy (czyli pierwsza może wynosić zero).
  • J– numer dnia w miesiącu bez zera wiodącego.
  • w– dzień tygodnia (0 – niedziela, 1 – poniedziałek, itd.).
  • H– zegar w formacie 12-godzinnym.
  • H– zegar w formacie 24-godzinnym.
  • I– minuty.
  • S– sekundy.
  • L– 1, jeśli jest to rok przestępny, 0, jeśli nie jest to rok przestępny.
  • W– numer seryjny tygodnia w roku.
  • T– liczba dni w podanym miesiącu.

Przykłady pracy z datą:

Drugi parametr funkcji daty

Funkcjonować data ma sekundę parametr opcjonalny, który pobiera punkt w czasie w formacie znacznika czasu. Jeśli przekażesz ten parametr, funkcja daty sformatuje nie bieżący moment w czasie, ale ten przekazany jako drugi parametr. Ten znacznik czasu można uzyskać np mktime(ale nie wymagane):

Można to wykorzystać do ustalenia numeru dnia tygodnia dla konkretnej daty - po prostu przekazujemy go jako drugi parametr za pomocą funkcji mktime i ustaw znak kontrolny jako pierwszy parametr „w”:

funkcja strtotime

Następna przydatna funkcja, której się przyjrzymy, nazywa się strtotime.

Funkcjonować strtotime- jest to analogia funkcji mktime (zwraca również znacznik czasu), tyle że w odróżnieniu od niej pobiera datę więcej darmowy format.

Na przykład mogę przekazać mu ciąg znaków "2025-12-31" a sama funkcja ustali, gdzie jest rok, gdzie jest miesiąc i gdzie jest dzień, i zwróci tę datę w formacie znacznika czasu.

Co jeszcze możesz zrobić: możesz pisać tak - strtotime("teraz")- i otrzymamy aktualny moment w czasie, mniej więcej - strtotime("przyszły poniedziałek")- i dostajemy następny poniedziałek (poniedziałek po angielsku to „poniedziałek”).

Można przeglądać wszystkie formaty.

Przykłady prac:

Poniższy kod zwróci datę poprzedniego poniedziałku:

Jak dodać lub odjąć datę

Aby odjąć lub dodać do daty określony okres czasu należy zastosować kombinację trzech funkcji: date_create - przygotowuje datę do pracy (data musi być w formacie rok-miesiąc-dzień) tworząc tzw. obiekt daty, za pomocą którego dokonywane są dalsze manipulacje, date_modify - dodaje lub odejmuje, date_format - wyświetla wynikową datę w zadanym formacie. Aby zrozumieć, jak pracować z tymi funkcjami, zapoznaj się z poniższymi przykładami.

Przykład 1

Stwórzmy obiekt z datą 2025, 12 miesięcy, 31 dni, następnie dodajmy do niego 1 dzień i wypiszmy go w formacie „dzień.miesiąc.rok”

Wynik wykonania kodu:

Przykład 2

Stwórzmy obiekt z datą 2025, 12 miesięcy, 31 dni, następnie dodajmy do niego 3 dni i wypiszmy w formacie „dzień.miesiąc.rok”

Wynik wykonania kodu:

Przykład 3

Stwórzmy obiekt z datą 2025, 12 miesięcy, 31 dni, następnie dodajmy do niego 3 dni i 1 miesiąc i wypiszmy w formacie „dzień.miesiąc.rok”

Wynik wykonania kodu:

Przykład 4

Stwórzmy obiekt z datą 2025, 1 miesiąc, 1 dzień, następnie odejmijmy od niego 1 dzień i wypiszmy w formacie „dzień.miesiąc.rok”

Wynik wykonania kodu:

Co powinieneś zrobić dalej:

Rozpocznij rozwiązywanie problemów, korzystając z poniższego linku: zadania do lekcji.

Kiedy już wszystko zdecydujesz, przejdź do studiowania nowego tematu.

Wprowadzenie do OOP

  • Lekcja nr.
    nowa zakładka z new.code.mu
    Wstęp
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Właściwości
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Metody
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Właściwości i $this
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Metody i $to
  • Lekcja nr.
    nowa zakładka z new.code.mu
    publiczna prywatna
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Konstruktor
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Gettery i setery
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Właściwości tylko do odczytu
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Jedna klasa - jeden plik
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Obiekty w tablicy
  • Lekcja nr.
    nowa zakładka z new.code.mu
    Początkowe wartości właściwości w konstruktorze

Rozszerzenie PHP do pracy z datą i czasem to zestaw klas, które pozwalają rozwiązać wiele problemów. Funkcje te są dostępne począwszy od wersji 5.2. wprowadzono kilka klas, z których każda wyświetlała scenariusz w czasie rzeczywistym:

Data i godzina były reprezentowane przy użyciu obiektu DateTime.

Strefa czasowa została reprezentowana przy użyciu DateTimeZone.

Obiekty DateInterval reprezentują przedział czasu. Na przykład, gdy musimy odliczyć 2 dni lub godziny od aktualnego czasu. Obiekt ten nie jest oparty na konkretnym czasie, jest po prostu interwałem.

DatePeriod reprezentuje okres pomiędzy dwiema datami.

Teraz przyjrzymy się rzeczywistemu zastosowaniu powyższego.

Data() i Data/Godzina

Jeśli potrzebujemy uzyskać datę, której używamy data(), to proste i działa. Po prostu podaj żądany format daty. Jednak w praktyce nie jest to do końca wygodne, np. gdy konieczna jest zmiana czasu w zależności od strefy czasowej.

DateTime to coś więcej niż tylko zwracanie daty. Zanim będzie można z tego skorzystać, należy utworzyć instancję nowego obiektu DateTime. Odbywa się to jak w każdej innej klasie PHP:

$data = nowa data i godzina();

Konstruktor DateTime przyjmuje jako parametr ciąg znaków, w momencie gdy ciąg znaków jest pusty, domyślnie ustawiana jest bieżąca data i godzina.

Aby utworzyć konkretną datę, należy przekazać warunek do konstruktora. Poniżej możesz zobaczyć niektóre z nich, które są dość jasne:

New DateTime("2013, 24 marca") //DateTime wyświetli 24 marca 2013 nowy DateTime("2013-03-24") //DateTime wyświetli 24 marca 2013 nowy DateTime("+2 dni") // Drugi dzień zaczynający się od dzisiejszego nowego DateTime("jutro") // jutrzejszego dnia

Pełną listę dostępnych formatów można znaleźć w oficjalnej dokumentacji.

Jeśli nie znajdziesz odpowiedniego formatu czasu, możesz go określić samodzielnie za pomocą DateTime::createFromFormat.

Teraz, gdy mamy w rękach gotowy obiekt DateTime, możemy zrobić wiele ciekawych rzeczy.

Znacznik czasu Uniksa

$data->getTimestamp();

Zmiana daty i godziny

$data->setDate(2013, 12, 30); //yyyy, mm, dd ustawi konkretną datę $date->setTime(12, 3, 20); //gg, mm, ss (opcjonalnie) ustawi czas $date->modify("jutro"); // jutro możesz nawet ustawić to w ten sposób! $data->setTimestamp(1364798550); // ustawianie daty i godziny za pomocą stempla unixowego

Warto zaznaczyć, że jeśli przekażemy parametry wyższe od akceptowalnych, PHP automatycznie je odpowiednio zmieni. Na przykład $data->setDate(2013, 12, 35); powróci 2014-01-04, to samo na czas.

Praca z wieloma datami

Teraz, gdy znasz już DateTime, Twoje aplikacje będą prostsze i inteligentniejsze. Mamy nadzieję, że teraz kochasz randki bardziej niż kiedykolwiek.

Teraz przyjrzymy się pracy z niektórymi obliczeniami matematycznymi. Załóżmy, że musimy porównać dwie daty urodzenia:

$sheldon = new DateTime("20 maja 1980"); $neo = new DateTime("11 marca 1962"); if ($sheldon > $neo) echo "Sheldon jest młodszy od neo";

Można to zrobić za pomocą innego skryptu. Tak:

$diff = $neo->diff($sheldon);

Wywołanie funkcji różnica powraca DataPrzedział obiekt. Oto jak to wygląda:

Obiekt DateInterval ([y] => 18 [m] => 2 [d] => 9 [h] => 0 [i] => 0 [s] => 0 => 0 => 6645)

To są nieruchomości publiczne. Na podstawie tego obiektu możesz generować ciekawe rzeczy.

//Neo jest starszy o 18 lat i 2 miesiące $diff->format("Neo jest starszy o %Y lat i %m miesięcy");

Najbardziej użyteczną rzeczą jest to, że możesz zastosować obiekt DateInterval do innego podobnego obiektu DateInterval.

$neo->add($różnica); //data urodzin neo została zmieniona na Sheldon

Uwaga: Modyfikacja DateTime, na przykład jak w powyższym przypadku, nie zwraca nowego obiektu, a po prostu modyfikuje stary. Należy o tym pamiętać podczas pracy z aplikacją. W PHP 5.5 wprowadzono nową klasę, która po modyfikacji zwraca nowy obiekt.

Różnica nie jest jedynym sposobem uzyskania obiektu interwału. Ponieważ jest to klasa, nowy obiekt można utworzyć w zwykły sposób:

$new_diff = nowy DateInterval("P2Y");

Liczba lat, miesięcy, dni itp. jest przekazywana konstruktorowi. Więcej informacji można znaleźć w dokumentacji konstruktora.

Praca ze strefami czasowymi

Podczas tworzenia nowego obiektu DateTime drugi argument określa strefę czasową. Jeśli pominiemy ten argument, strefa czasowa zostanie pobrana z php.ini date.timezone. Możesz to zmienić na bieżąco, dzwoniąc date_default_timezone_set:

Date_default_timezone_set("Ameryka/Nowy_Jork"); nowy DateTime("dzisiaj"); //obiekt datetime został zmieniony na strefę czasową Nowego Jorku

Strefę czasową możesz także zmienić za pomocą obiektu DateTimeZone:

$strefa czasowa = nowa DateTimeZone("Ameryka/Nowy_Jork"); $sheldon->setTimezone($strefa czasowa); //Urodziny Sheldona według czasu nowojorskiego

Strefę czasową możesz zdefiniować podczas tworzenia obiektu DateTime:

$sheldon = new DateTime("20 maja 1980", $strefa czasowa);

Należy pamiętać, że setTimezone modyfikuje oryginalny obiekt DateTime. Prosimy o zmianę tej daty zgodnie ze strefą czasową. Z drugiej strony w ostatnim przykładzie przekazaliśmy konstruktorowi strefę czasową, mówiąc: „Data, którą tworzę, jest w tej strefie czasowej”.

Lista dostępnych stref czasowych dostępna jest w dokumentacji.

Okresy daty i godziny

Myślę, że oficjalna dokumentacja zawiera najjaśniejsze wyjaśnienia:

Umożliwia poruszanie się w zadanym przedziale czasu przez równe okresy czasu.

DataOkres generuje zbiór czasów z określonego zakresu, w określonych odstępach czasu. Musimy przekazać datę początkową, interwał i datę końcową. Dla każdego interwału tworzony jest nowy obiekt DateTime.

Powiedzmy, że chcemy uzyskać wszystkie daty urodzin Sheldona, zaczynając od jego narodzin:

//ponieważ urodziny są raz w roku, odstęp będzie wynosił jeden rok $interval = new DateInterval("P1Y"); //trzeci argument to data końcowa, new DateTime() == now $period = new DatePeriod($sheldon, $interval, new DateTime()); foreach($okres jako $dt) ( //obiekt DateTime echo $dt->format("Y-m-d - D"), "\n"; )

Wynik będzie następujący:

1981-05-20 - śro 1982-05-20 - czw 1983-05-20 - piątek 1984-05-20 - niedziela 1985-05-20 - pon 1986-05-20 - wto ...

Teraz okresy obejmują również datę początkową. Możesz to wyeliminować, przekazując czwarty argument konstruktorowi:

$okres = nowy DatePeriod($sheldon, $interval, nowy DateTime(), DatePeriod::EXCLUDE_START_DATE);

Zobaczmy, ile razy Neo obchodził swoje urodziny przed narodzinami Sheldona:

$bdays = nowy DatePeriod($neo, $interval, $sheldon, DatePeriod::EXCLUDE_START_DATE); echo iterator_count($dni);

Rozszerzenie

Wszystkie klasy, które dzisiaj omówiliśmy, można rozszerzyć za pomocą własnych metod. Najczęstszy sposób tworzenia funkcji __do ciągu co pozwoli ci wyświetlić obiekt DateTime bez wywoływania formatu.

Co jeszcze?

Jak widać, to rozszerzenie daty i godziny oferuje wiele możliwości. Najnowsze wersje PHP mają nowe klasy, wystarczy zajrzeć do dokumentacji.

Czy masz jakieś dobre przykłady użycia daty i godziny w PHP? Podziel się nimi w komentarzach poniżej! Dziękuję wszystkim za przeczytanie.


(PHP 4, PHP 5, PHP 7)

data - Formatuje systemowe wyjście daty/godziny

Opis

Smyczkowy data (ciąg znaków w formacie $ [, int $znacznik czasu = czas() ])

Zwraca ciąg sformatowany zgodnie z określonym wzorcem formatu. Używany jest znacznik czasu określony w argumencie znacznika czasu lub bieżący czas systemowy, jeśli znacznik czasu nie jest określony..

Zatem znacznik czasu jest opcjonalny i domyślnie przyjmuje wartość zwracaną przez funkcję

czas() Lista parametrów Wzór ciągu wynikowego ( smyczkowy) z datą. Zobacz opcje formatowania poniżej. Istnieje również kilka predefiniowanych stałych daty/godziny, których można użyć zamiast tych parametrów. Na przykład:.

DATA_RSS
zastępuje szablon „D, d M Y H:i:s” W parametrze formatu rozpoznawane są następujące znaki
Znak w ciągu formatującym --- ---
D Opis Przykład wartości zwracanej 01 Dzień 31
Dzień miesiąca, 2 cyfry z zerem wiodącym z Przykład wartości zwracanej Do Dzień D
J Tekstowa reprezentacja dnia tygodnia, 3 znaki Przykład wartości zwracanej 1 Dzień 31
pon Słoneczny Dzień miesiąca bez zera wiodącego Przykład wartości zwracanej l Dzień (małe „L”)
Pełna nazwa dnia tygodnia Niedziela Przykład wartości zwracanej 1 Sobota 7 N
Liczba porządkowa dnia tygodnia zgodna z normą ISO-8601 (dodana w PHP 5.1.0) (poniedziałek) do godz (Niedziela), S, Angielski przyrostek liczby porządkowej dnia miesiąca, 2 znaki ul II rd J
w Lub Przykład wartości zwracanej 0 t 6 . Używane w połączeniu z
z Numer seryjny dnia tygodnia (niedziela) do godz 0 Dzień 365
(Sobota) --- ---
W Numer seryjny tygodnia w roku zgodnie z normą ISO-8601; tygodnie zaczynają się w poniedziałek (dodano w PHP 4.1.0) Na przykład: 42 (42. tydzień roku)
Miesiąc --- ---
F Pełna nazwa miesiąca, na przykład styczeń lub marzec Przykład wartości zwracanej Styczeń Dzień Grudzień
M Numer seryjny miesiąca z zerem wiodącym Przykład wartości zwracanej 01 Dzień 12
M Skrócona nazwa miesiąca, 3 znaki Przykład wartości zwracanej styczeń Dzień grudzień
N Numer seryjny miesiąca bez zera wiodącego Przykład wartości zwracanej 1 Dzień 12
T Liczba dni w określonym miesiącu Przykład wartości zwracanej 28 Dzień 31
Rok --- ---
L Znak roku przestępnego 1 , jeśli rok jest rokiem przestępnym, w przeciwnym razie 0 .
o Numer roku zgodnie z normą ISO-8601. Y Ma takie samo znaczenie jak W, z wyjątkiem sytuacji, gdy numer tygodnia ISO ( ) należy do roku poprzedniego lub następnego; wówczas zastosowany zostanie rok tego tygodnia. (dodano w PHP 5.1.0) 1999 Przykłady: 2003
Y Lub ) należy do roku poprzedniego lub następnego; wówczas zastosowany zostanie rok tego tygodnia. (dodano w PHP 5.1.0) 1999 , 2003
y Numer seryjny roku, 4 cyfry ) należy do roku poprzedniego lub następnego; wówczas zastosowany zostanie rok tego tygodnia. (dodano w PHP 5.1.0) 99 , 03
Numer roku, 2 cyfry --- ---
Czas A Ante meridiem (angielski: „przed południem”) lub Post meridiem (angielski: „po południu”) pisanymi małymi literami Przykłady: jestem
po południu A Ante meridiem lub Post meridiem wielkimi literami Przykłady: JESTEM.
PO POŁUDNIU. B Przykład wartości zwracanej 000 Dzień 999
Czas w internetowym formacie czasu (alternatywny system pór dnia) G Przykład wartości zwracanej 1 Dzień 12
Zegar w formacie 12-godzinnym bez zera wiodącego G Przykład wartości zwracanej 0 Dzień 23
H Zegar w formacie 24-godzinnym bez zera wiodącego Przykład wartości zwracanej 01 Dzień 12
H Zegar w formacie 12-godzinnym z zerem wiodącym Przykład wartości zwracanej 00 Dzień 23
I Zegar w formacie 24-godzinnym z zerem wiodącym Przykład wartości zwracanej 00 Dzień 59
S Minuty z zerem na początku Przykład wartości zwracanej 00 Dzień 59
Sekundy z zerem wiodącym ty data() Mikrosekundy (dodano w PHP 5.2.2). Proszę o tym pamiętać 000000 zawsze powróci , ponieważ akceptuje liczbę całkowitą ( liczba całkowita ) parametr, natomiast Data i godzina:: format () Na przykład: 654321
obsługuje mikrosekundy. --- ---
Strefa czasowa mi ) należy do roku poprzedniego lub następnego; wówczas zastosowany zostanie rok tego tygodnia. (dodano w PHP 5.1.0) Kod skali strefy czasowej (dodany w PHP 5.1.0), UTC, GMT
Atlantyk/Azory I (duże i) 1 Znak czasu letniego 0 , jeżeli data odpowiada czasowi letniemu,
W przeciwnym razie. O Na przykład: +0200
Różnica w godzinach w stosunku do czasu Greenwich P Na przykład: +02:00
Różnica GMT z dwukropkiem pomiędzy godzinami i minutami (dodano w PHP 5.1.3) T ) należy do roku poprzedniego lub następnego; wówczas zastosowany zostanie rok tego tygodnia. (dodano w PHP 5.1.0) Skrót strefy czasowej, EST ...
MDT Z Przykład wartości zwracanej -43200 Dzień 50400
Przesunięcie strefy czasowej w sekundach. Dla stref czasowych położonych na zachód od UTC zwracane są liczby ujemne, a dla stref położonych na wschód od UTC zwracane są liczby dodatnie. --- ---
Pełna data/godzina C Data w formacie ISO 8601 (dodana w PHP 5)
2004-02-12T15:19:21+00:00 R Na przykład: Data w » formacie RFC 2822
U Czw, 21 grudnia 2000 16:01:07 +0200 Liczba sekund, które upłynęły od początku ery Uniksa (Epoka Uniksa, 1 stycznia 1970, 00:00:00 GMT) Używany jest znacznik czasu określony w argumencie znacznika czasu lub bieżący czas systemowy, jeśli znacznik czasu nie jest określony.

Zobacz także MDT Wszelkie inne znaki napotkane w ciągu wzorca zostaną wydrukowane w postaci niezmienionej w ciągu wynikowym. 0 zawsze wraca podczas używania.

gmdate():

Ponieważ dana funkcja przyjmuje znaczniki czasu takie jak , ponieważ akceptuje liczbę całkowitą (, formatowanie znaku Sekundy z zerem wiodącym będą przydatne tylko podczas korzystania z tej funkcji format_daty() oraz niestandardowe znaczniki czasu utworzone za pomocą tej funkcji data_utwórz().

znacznik czasu

Opcjonalny parametr znacznika czasu to , ponieważ akceptuje liczbę całkowitą ( znacznik czasu, domyślnie bieżący czas lokalny, jeśli znacznik czasu nie jest określony. Innymi słowy, wartość domyślna jest równa wynikowi funkcji Używany jest znacznik czasu określony w argumencie znacznika czasu lub bieżący czas systemowy, jeśli znacznik czasu nie jest określony..

Zwróć wartości

Zwraca sformatowany ciąg daty. W przypadku przekazania wartości innej niż numeryczna jako parametru zwrócony zostanie znacznik czasu FAŁSZ i pojawia się błąd poziomu E_OSTRZEŻENIE.

Lista zmian

Wersja „D, d M Y H:i:s”
5.1.0 Prawidłowy zakres dat dla znaczników czasu to zazwyczaj od 13 grudnia 1901 r., 20:45:54 GMT do 19 stycznia 2038 r., 03:14:07 GMT.
5.1.0

(Odpowiadają minimalnej i maksymalnej wartości 32-bitowej liczby całkowitej ze znakiem). Jednakże w przypadku wersji PHP poniżej 5.1.0 w niektórych systemach operacyjnych (np. Windows) zakres ten był ograniczony do dat od 01-01-1970 do 19-01-2038. Błędy związane ze strefami czasowymi generują teraz błędy poziomu I E_STRICT.

5.1.1 E_UWAGA

W przypadku standardowych formatów daty/godziny istnieją specjalne stałe, które można określić jako parametr formatu.

Przykłady data()

Przykład nr 1 Przykłady użycia funkcji
// ustaw domyślną strefę czasową. Dostępne od PHP 5.1

date_default_timezone_set("UTC");
// wyświetli coś takiego: poniedziałek

echo data("l");
// wyświetli coś takiego: poniedziałek 8 sierpnia 2005 15:12:46

data echa („l jS \of F Y h:i:s A” );
// wyświetli wynik: 1 lipca 2000 wypada w sobotę

echo "1 lipca 2000 przypada na " . data("l", mktime(0, 0, 0, 7, 1, 2000));
/* przykład użycia stałej jako parametru formatowania */
// wyświetli coś takiego: środa, 25 września 2013 15:28:57 -0700

data echa (DATE_RFC2822);
// wyświetli coś takiego: 2000-07-01T00:00:00+00:00
?>

echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

Aby uniemożliwić rozpoznanie znaku jako znaku formatującego, należy go zmienić za pomocą ukośnika odwrotnego. Jeśli znak ucieczki jest również sekwencją formatu, należy go ponownie zmienić. data()

Przykład nr 2 Ucieczka ze znaków w funkcji
// wyświetli coś takiego: środa 15-go
?>

data echa („l \t\h\e jS” ); data() Aby wyświetlić daty przeszłe i przyszłe, wygodnie jest skorzystać z funkcji I.

mktime() data() Przykład nr 3 Przykład udostępniania funkcji I

$jutro = mktime (0 , 0 , 0 , data („m” ) , data („d” )+ 1, data („Y” ));
$ostatni miesiąc = mktime (0 , 0 , 0 , data ( "m" ) - 1, data ( "d" ), data ( "Y" ));
$przyszły rok = mktime (0 , 0 , 0 , data ( "m" ), data ( "d" ), data ( "Y" )+ 1);
?>

gmdate():

Ta metoda jest bardziej niezawodna niż zwykłe odejmowanie i dodawanie sekund do znacznika czasu, ponieważ pozwala w razie potrzeby na elastyczne przejście na czas letni/zimowy.

Jeszcze kilka przykładów użycia tej funkcji data(). Ważne jest, aby pamiętać, że powinieneś uciec od wszystkich znaków, które chcesz pozostawić bez zmian. Dotyczy to również tych znaków, których bieżąca wersja PHP nie rozpoznaje jako formatowania, ponieważ może to zostać wprowadzone w przyszłych wersjach.

Aby uniknąć sekwencji ucieczki (takich jak \n), należy użyć pojedynczych cudzysłowów. data()

Przykład nr 4 Formatowanie za pomocą
// Załóżmy, że bieżąca data to 10 marca 2001, godzina 17:16:18,

// i jesteśmy w strefie czasowej czasu górskiego (MST).
$dzisiaj = data („F j, Y, g:i a” ); // 10 marca 2001, 17:16
$dzisiaj = data("dnia"); // 03.10.01
$dzisiaj = data("j, n, Y" ); // 10, 3, 2001
$dzisiaj = data("Ymd"); // 20010310 $dzisiaj = data („h-i-s, j-m-y, jest dzień” );
// 16-05-18, 10-03-01, 1631 1618 6 sob.01
$dzisiaj = data („\i\t \i\s \t\h\e jS \d\a\y.” ); // to jest 10 dzień. $dzisiaj = data („D M j G:i:s T Y” );
// Sobota, 10 marca, 17:16:18 MST 2001
$dzisiaj = data („H:m:s \m \i\s\ \m\o\n\t\h” ); // 17:03:18 m to miesiąc
$dzisiaj = data("H:i:s"); // 17:16:18 $dzisiaj = data („Y-m-d H:i:s” );
?>

// 2001-03-10 17:16:18 (format DATETIME MySQL) data() Aby sformatować daty w innych językach, użyj zamiast tego funkcje I ustaw lokalizację().

strftime()

gmdate():

Notatki Aby uzyskać znacznik czasu z ciągu znaków reprezentującego datę, możesz użyć funkcji strtotime()



Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: