Windows.  Vírusy.  Prenosné počítače.  internet.  Kancelária.  Verejné služby.  Vodiči

Je zrejmé, že programátori veľmi často musia pracovať s dátumom a časom. Najjednoduchším príkladom je dátum a čas odoslania správy na fórum. A takéto veci sa samozrejme dajú realizovať na PHP, najmä preto, že existujú príležitosti na práca s dátumom a časom v PHP toľko.

Základná funkcia súvisiaca s dátum a čas v PHP, - Toto funkcia time()., ktorá vráti počet sekúnd, ktoré odvtedy uplynuli polnoc 1.1.1970(zrodenie éry Unix):

čas ozveny ();
?>

Spustením tohto skriptu zistíte, koľko sekúnd odvtedy uplynulo polnoc 1.1.1970 až do okamihu hovoru funkcie time(). vo vašom scenári.

Samozrejme, okrem tejto základnej funkcie, ktorá je prítomná vo všetkých programovacích jazykoch, kde môžete pracovať s dátumom a časom(aspoň medzi tými, ktoré poznám) existuje ďalšia funkcia tzv getdate():

$datetime = getdate();
foreach ($datetime ako $k=>$v)
echo „$k – $v
";
?>

Spustením tohto skriptu uvidíte sadu kľúčov v poli a ich zodpovedajúce hodnoty (zároveň sme zopakovali konštrukciu foreach). Myslím si, že teraz pre vás nebude ťažké zistiť akékoľvek údaje týkajúce sa dátum a čas. Ak chcete napríklad zobraziť aktuálny čas, napíšte nasledujúci kód:

$datetime = getdate();
echo $datetime["hodiny"]..":".$datetime["minúty"]..":".$datetime["sekundy"];
?>

Tiež funkcie getdate(). existuje voliteľný parameter, ktorý znamená počet sekúnd, ktoré odvtedy uplynuli polnoc 1.1.1970. Je vyrobená tak, že táto funkcia môže vrátiť nielen aktuálny čas a dátum, ale vo všeobecnosti akékoľvek:

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

Vo výsledku uvidíte 1974 rok.

Existuje tiež funkcia date().. Odporúčam pozrieť si jej popis v príručke, pretože táto funkcia má veľmi zložitý parameter, ktorý určuje výstupný formát dátumu. Existuje o niečo viac ako 30 prvkov formátovania. A v príklade nižšie uvediem niekoľko z nich a zvyšok si pozriem v referenčnej knihe, pretože si ich nemusíte zapamätať, ale je veľmi vhodné sa s nimi zoznámiť. Je však potrebné poznať princíp ich použitia a nasledujúci príklad:

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

V dôsledku toho uvidíte niečo takéto: " Dnes 15.11.2010 21:44:24". Tiež funkcie date(). Existuje aj druhý voliteľný parameter, ktorý špecifikuje časová pečiatka, presne hodnotu rovnajúcu sa počtu sekúnd, ktoré odvtedy uplynuli polnoc 1.1.1970. Príklad použitia druhého parametra:

echo date("Bolo raz d.m.Y H:i:s", 5393235329);
?>

Existuje tiež funkcia gmdate()., čo je úplný analóg funkcie date()., Ale funkcia gmdate(). zobrazuje čas nie podľa časovej zóny servera, na ktorom je skript spustený, ale podľa Greenwich. Je zrejmé, že pomocou tejto funkcie musíte uložiť všetky informácie o dátume a čase, ktoré používateľ vidí, a pri výstupe sa musíte prispôsobiť časovému pásmu každého používateľa (samozrejme ideálne):

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

V dôsledku toho uvidíte niečo takéto: " Pondelok 15. november 18:52:45 GMT 2010"Samozrejme, uvidíte iný dátum, ale v podobnom formáte. Dôrazne vám tiež odporúčam, aby ste vstúpili do referenčnej knihy a oboznámili sa s ostatnými prvkami dátumu a času v PHP(dal som len tretinu), od r funkcie date() a gmdate().- toto je najjednoduchší a najrýchlejší spôsob získať dátum a čas takmer v akomkoľvek formáte.

Pozrime sa, ako pracovať s dátumami a časmi v PHP.

Čas vUnix-počítače

Pre unixové počítače začína čas o polnoci 1. januára 1970. Akýkoľvek dátum sa vypočíta ako počet sekúnd (označených časovou pečiatkou), ktoré uplynuli od 1. januára 1970. Tieto konvencie sa používajú aj v PHP. Napríklad chceme ísť o deň dopredu. Potom stačí k aktuálnej hodnote pridať časovú pečiatku 60×60×24 sekúnd.

Táto schéma sledovania času výrazne zjednodušuje operácie s dátumami. Ak je napríklad jedna hodnota časovej pečiatky väčšia ako iná, prvá hodnota zodpovedá neskoršiemu dátumu ako druhá.

Časové jednotky za sekundu

Získanie aktuálneho času

V PHP, aby ste získali aktuálnu hodnotu časovej značky, musíte zavolať funkciu time() bez parametrov, napríklad:

Mnoho funkcií dátumu a času PHP používa ako argument hodnotu časovej značky. Napríklad funkcia date() vráti dátumový reťazec naformátovaný podľa zadaného formátu, napríklad:

Tvorbačasová pečiatka podľa dátumu

Funkciamktime() vytvorí časovú pečiatku, ak zadáte hodinu, minútu, sekundu, deň v mesiaci, mesiac a rok:

Funkciastrtotime()

Funkcia vygeneruje časovú pečiatku pre dátum zadaný ako frázu v angličtine, napríklad 1. apríl alebo piatok.

Hodnota dátumu musí byť zadaná vo formáte RRRR-MM-DD. Ak funkcia strtotime nedokáže skonvertovať dátum, vráti hodnotu false.

Príklady použitia funkciedátum()

Vstavaná funkcia floor() sa používa na vyradenie zlomkovej časti výsledku.

Nasledujúci text môžete pri prvom čítaní preskočiť

Formáty dátumu v databázachMySQL

Formát časovej pečiatky v PHP je nekompatibilný s formátom časovej pečiatky v MySQL DBMS.

MySQL má tri typy polí dátumu a času: DATA (dátum), TIME (čas), DATETIME (dátum a čas). Existuje aj špeciálny typ údajov TIMESTAMP, ktorý funguje ako DATETIME, ale automaticky sa aktualizuje na aktuálny čas vždy, keď sú vložené alebo aktualizované záznamy tabuľky.

Ak chcete previesť časovú pečiatku vo formáte PHP do formátu MySQL, môžete použiť nasledujúci kód:

Dátum("Y-m-d H:i:s", $timestamp)

Ako dátum a čas môžeme napríklad použiť „2008-10-01 13:23:40“.

Ak chcete získať časovú pečiatku PHP z dotazu SELECT, musíte použiť funkciu UNIX_TIMESTAMP() SQL:

SELECT UNIX_TIMESTAMP(dátum) FROM tabuľky

MySQL má mnoho ďalších užitočných funkcií pre prácu s dátumom a časom.

Na prácu s dátumami v PHP sa používajú rôzne funkcie. S funkciou sa začneme učiť čas.

Časová funkcia, formát časovej pečiatky

Funkcia čas vráti rozdiel v sekundách medzi 1. januára 1970 A aktuálny moment v čase. Toto zobrazenie dátumu sa nazýva formát časová pečiatka.

Prečo potrebujete časovú pečiatku?

Čas vo formáte časová pečiatka používa sa na nájdenie rozdielu medzi dátumami v sekundách.

Ja mám napríklad časovú pečiatku za 1. januára bežného roka a časová pečiatka pre aktuálny okamih. Odčítam jeden od druhého a dostanem rozdiel medzi týmito momentmi v sekundách.

Tento rozdiel vydelím 60 a dostanem rozdiel v minútach (keďže minúta má 60 sekúnd). Vydelím to ešte 60 a dostanem rozdiel v hodinách. A tak ďalej. čas Pomocou funkcie môžeme získať iba aktuálny okamih v čase. Ak chcete získať časovú pečiatku pre mktime:

akýkoľvek dátum

Funkcia mktime mala by sa použiť funkcia čas funkcia mktime funguje podobne ako funkcia, ale na rozdiel od neho má parametre: mktime (hodina, minúta, sekunda, mesiac, deň, rok)(všimnite si prosím, že

mesiac a deň sú obrátené). Pozrite si ukážky prác:

Parametre možno na konci vynechať . Ak nenapíšeme rok (posledný parameter), tak sa automaticky berie aktuálny rok, ak nenapíšeme aj deň (predposledný parameter), tak sa berie aktuálny deň a aktuálny rok. A tak ďalej: Poďme vyriešiť typický čas A mktimeúloha na. Potrebujeme nájsť

rozdiel v sekundách medzi aktuálnym časom a poludním (12 hodín, 0 minút, 0 sekúnd) 1. februára (február je mesiac číslo 2) 2000: 612717139 (obnovte stránku a toto číslo sa zmení).

Vyzbrojení znalosťou o aký formát ide časová pečiatka(budeme to potrebovať neskôr), naštudujme si užitočnejšie funkcie na prácu s dátumami, napríklad funkciu dátumu.

funkcia dátumu

Funkcia dátum zobrazí aktuálny dátum a čas v určenom formáte.

Formátovať je určený ovládacími príkazmi (anglické písmená) a môžete medzi ne vložiť ľubovoľné oddeľovače (pomlčky, dvojbodky atď.).

Tímy (veľké písmená sa líšia od bežných dávajte pozor!):

  • U– počet sekúnd, ktoré uplynuli od 1. januára 1970 (čiže časová pečiatka).
  • z– číslo dňa od začiatku roka.
  • Y– rok, 4 číslice.
  • r- rok, dve číslice.
  • m– číslo mesiaca (s úvodnou nulou).
  • n– číslo mesiaca bez úvodnej nuly.
  • d– číslo dňa v mesiaci, vždy dvojciferné (to znamená, že prvé môže byť nula).
  • j– číslo dňa v mesiaci bez úvodnej nuly.
  • w– deň v týždni (0 - nedeľa, 1 - pondelok atď.).
  • h– hodiny v 12-hodinovom formáte.
  • H– hodiny v 24-hodinovom formáte.
  • i– minúty.
  • s– sekundy.
  • L– 1, ak ide o priestupný rok, 0, ak nejde o priestupný rok.
  • W– poradové číslo týždňa v roku.
  • t– počet dní v danom mesiaci.

Príklady práce s dátumom:

Druhý parameter funkcie dátumu

Funkcia dátum má sekundu voliteľný parameter, ktorý má časový bod vo formáte časovej pečiatky. Ak odovzdáte tento parameter, funkcia dátumu nebude formátovať aktuálny časový okamih, ale ten, ktorý bol odovzdaný ako druhý parameter. Toto časová pečiatka možno získať napr mktime(ale nevyžaduje sa):

To sa dá využiť na zistenie čísla dňa v týždni pre konkrétny dátum – jednoducho ho odovzdáme ako druhý parameter pomocou funkcie mktime a prvým parametrom je riadiaci znak "w":

funkcia strtotime

Ďalšia užitočná funkcia, na ktorú sa pozrieme, sa volá strtotime.

Funkcia strtotime- toto je analógia funkcie mktime (vracia aj časovú pečiatku), len na rozdiel od nej berie dátum v viac voľný formát.

Môžem mu napríklad odovzdať reťazec "2025-12-31" a samotná funkcia zistí, kde je rok, kde je mesiac a kde je deň, a vráti tento dátum vo formáte časovej pečiatky.

Čo ešte môžete urobiť: môžete písať takto - strtotime("teraz")- a dostaneme aktuálny okamih v čase, alebo tak - strtotime("budúci pondelok")- a dostaneme budúci pondelok (pondelok v angličtine je „pondelok“).

Všetky formáty je možné zobraziť.

Príklady prác:

Nasledujúci kód vráti dátum z predchádzajúceho pondelka:

Ako pridať alebo odčítať dátum

Na odčítanie alebo pričítanie určitého časového úseku k dátumu by ste mali použiť kombináciu troch funkcií: date_create - pripraví dátum na prácu (dátum musí byť vo formáte rok-mesiac-deň) vytvorenie tzv. dátumový objekt, s ktorým sa vykonávajú ďalšie manipulácie, date_modify - pridáva alebo odčítava, date_format - zobrazuje výsledný dátum v danom formáte. Ak chcete pochopiť, ako pracovať s týmito funkciami, preštudujte si príklady uvedené nižšie.

Príklad 1

Vytvorme objekt s dátumom 2025, 12 mesiacov, 31 dní, potom k nemu pridáme 1 deň a vydáme ho vo formáte „deň.mesiac.rok“

Výsledok vykonania kódu:

Príklad 2

Vytvorme objekt s dátumom 2025, 12 mesiacov, 31 dní, potom k nemu pridáme 3 dni a vydáme ho vo formáte „deň.mesiac.rok“

Výsledok vykonania kódu:

Príklad 3

Vytvorme objekt s dátumom 2025, 12 mesiacov, 31 dní, potom k nemu pridáme 3 dni a 1 mesiac a vydáme ho vo formáte „deň.mesiac.rok“

Výsledok vykonania kódu:

Príklad 4

Vytvorme objekt s dátumom 2025, 1 mesiac, 1 deň, potom od neho odpočítajme 1 deň a vydáme ho vo formáte „deň.mesiac.rok“

Výsledok vykonania kódu:

Čo by ste mali urobiť ďalej:

Začnite riešiť problémy pomocou nasledujúceho odkazu: problémy pre lekciu.

Keď sa rozhodnete o všetkom, prejdite na štúdium novej témy.

Úvod do OOP

  • lekcia č.
    nová karta s novým.kódom.mu
    Úvod
  • lekcia č.
    nová karta s novým.kódom.mu
    Vlastnosti
  • lekcia č.
    nová karta s novým.kódom.mu
    Metódy
  • lekcia č.
    nová karta s novým.kódom.mu
    Vlastnosti a $this
  • lekcia č.
    nová karta s novým.kódom.mu
    Metódy a $this
  • lekcia č.
    nová karta s novým.kódom.mu
    verejné súkromné
  • lekcia č.
    nová karta s novým.kódom.mu
    Konštruktér
  • lekcia č.
    nová karta s novým.kódom.mu
    Getters setters
  • lekcia č.
    nová karta s novým.kódom.mu
    Vlastnosti iba na čítanie
  • lekcia č.
    nová karta s novým.kódom.mu
    Jedna trieda - jeden súbor
  • lekcia č.
    nová karta s novým.kódom.mu
    Objekty v poli
  • lekcia č.
    nová karta s novým.kódom.mu
    Počiatočné hodnoty vlastností v konštruktore

Rozšírenie PHP pre prácu s dátumom a časom je sada tried, ktoré vám umožňujú riešiť mnohé problémy. Tieto funkcie sú k dispozícii od verzie 5.2 bolo predstavených niekoľko tried, z ktorých každá zobrazuje scenár v reálnom čase:

Dátum a čas boli reprezentované pomocou objektu DateTime.

Časové pásmo bolo vyjadrené pomocou DateTimeZone.

Objekty DateInterval predstavujú časový interval. Napríklad, keď potrebujeme počítať 2 dni alebo hodiny od aktuálneho času. Tento objekt nie je založený na konkrétnom čase, je to jednoducho interval.

DatePeriod predstavuje obdobie medzi dvoma dátumami.

Teraz sa pozrieme na skutočnú aplikáciu vyššie uvedeného.

Date() a DateTime

Ak potrebujeme získať dátum, ktorý používame dátum(), je to jednoduché a funguje to. Stačí zadať požadovaný formát dátumu. To ale v praxi nie je úplne vhodné, napríklad keď je potrebné meniť čas v závislosti od časového pásma.

DateTime dokáže viac než len vrátiť dátum. Skôr ako to budete môcť použiť, musíte vytvoriť inštanciu nového objektu DateTime. Toto sa robí ako v ktorejkoľvek inej triede PHP:

$date = new DateTime();

Konštruktor DateTime berie ako parameter reťazec, v momente, keď je reťazec prázdny, je štandardne nastavený aktuálny dátum a čas.

Ak chcete vytvoriť konkrétny dátum, musíte konštruktorovi odovzdať podmienku. Nižšie si môžete pozrieť niektoré z nich, ktoré sú celkom jasné:

New DateTime("2013, March 24") //DateTime zobrazí 24. marca 2013 new DateTime("2013-03-24") //DateTime zobrazí 24. marca 2013 nový DateTime("+2 days") // 2. deň začínajúci od dnešného nového DateTime("zajtra") // zajtrajšieho dňa

Kompletný zoznam dostupných formátov nájdete v oficiálnej dokumentácii.

Ak nenájdete vhodný formát času, môžete si ho určiť sami pomocou DateTime::createFromFormat.

Teraz, keď máme v rukách pripravený objekt DateTime, môžeme robiť veľa zaujímavých vecí.

Unix časová pečiatka

$date->getTimestamp();

Zmena dátumu a času

$date->setDate(2013, 12, 30); //yyyy, mm, dd nastaví konkrétny dátum $date->setTime(12, 3, 20); //hh, mm, ss (voliteľné) nastaví čas $date->modify("zajtra"); // zajtra si to mozes nastavit aj takto! $date->setTimestamp(1364798550); // nastavenie dátumu a času pomocou unixovej pečiatky

Stojí za zmienku, že ak odovzdáme parametre, ktoré sú vyššie ako prijateľné, PHP ich automaticky zodpovedajúcim spôsobom zmení. Napríklad $date->setDate(2013, 12, 35); sa vráti 2014-01-04, rovnako na čas.

Práca s viacerými dátumami

Teraz, keď ste oboznámení s DateTime, budú vaše aplikácie jednoduchšie a inteligentnejšie. Dúfame, že teraz milujete rande viac ako kedykoľvek predtým.

Teraz sa pozrieme na prácu s niektorými matematickými výpočtami. Povedzme, že musíme porovnať dva dátumy narodenia:

$sheldon = new DateTime("20. máj 1980"); $neo = new DateTime("11. marec 1962"); if ($sheldon > $neo) echo "Sheldon je mladší ako neo";

To je možné vykonať pomocou iného skriptu. takto:

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

Volanie funkcie dif sa vracia DateInterval objekt. Vyzerá to takto:

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

Toto sú verejné nehnuteľnosti. Na základe tohto objektu môžete vytvárať zaujímavé veci.

//Neo je starší o 18 rokov a 2 mesiace $diff->format("Neo je starší o %Y rokov a %m mesiacov");

Najužitočnejšia vec je, že môžete použiť objekt DateInterval na iný podobný objekt DateInterval.

$neo->add($diff); //neove narodeniny sa zmenili na sheldon

Poznámka: Modifikácia DateTime, napríklad ako v prípade vyššie, nevracia nový objekt, iba upravuje starý. Majte to na pamäti pri práci s vašou aplikáciou. PHP 5.5 zaviedlo novú triedu, ktorá po úprave vracia nový objekt.

Rozdiel nie je jediný spôsob, ako získať intervalový objekt. Keďže ide o triedu, nový objekt možno vytvoriť ako zvyčajne:

$new_diff = new DateInterval("P2Y");

Počet rokov, mesiacov, dní atď. je odovzdaný konštruktérovi. Viac informácií nájdete v dokumentácii o konštruktérovi.

Práca s časovými pásmami

Pri vytváraní nového objektu DateTime druhý argument určuje časové pásmo. Ak tento argument vynecháme, časové pásmo bude prevzaté z php.ini date.timezone. Môžete to zmeniť za chodu zavolaním date_default_timezone_set:

Date_default_timezone_set("Amerika/New_York"); new DateTime("dnes"); //objekt dátum a čas sa zmenil na časové pásmo New York

Časové pásmo môžete zmeniť aj pomocou objektu DateTimeZone:

$timezone = new DateTimeZone("Amerika/New_York"); $sheldon->setTimezone($timezone); //Sheldonove narodeniny podľa newyorského času

Počas vytvárania objektu DateTime môžete definovať časové pásmo:

$sheldon = new DateTime("20. máj 1980", $timezone);

Je dôležité si zapamätať, že setTimezone upravuje pôvodný objekt DateTime. Tento dátum žiadame zmeniť v súlade s časovým pásmom. Na druhej strane, v poslednom príklade sme konštruktorovi odovzdali časové pásmo so slovami: "Dátum, ktorý vytváram, je v tomto časovom pásme."

Zoznam dostupných časových pásiem je dostupný v dokumentácii.

Dátum a časové obdobia

Myslím si, že oficiálna dokumentácia poskytuje najjasnejšie vysvetlenia:

Umožňuje vám pohybovať sa v rámci daného časového intervalu počas rovnakých časových úsekov.

DatePeriod generuje kolekciu časov v určitom rozsahu v určených intervaloch. Musíme zadať dátum začiatku, interval a dátum ukončenia. Pre každý interval sa vytvorí nový objekt DateTime.

Povedzme, že chceme získať všetky Sheldonove narodeniny, počnúc jeho narodením:

//keďže narodeniny sú raz za rok, interval bude jeden rok $interval = new DateInterval("P1Y"); //tretí argument je dátum ukončenia, new DateTime() == now $period = new DatePeriod($sheldon, $interval, new DateTime()); foreach($period as $dt) ( //DateTime object echo $dt->format("Y-m-d - D"), "\n"; )

Výsledok bude nasledovný:

1981-05-20 - St 1982-05-20 - Št 1983-05-20 - Pia 1984-05-20 - Ne 1985-05-20 - Po 1986-05-20 - Ut ...

Teraz obdobia zahŕňajú aj dátum začiatku. Môžete to odstrániť odovzdaním štvrtého argumentu konštruktorovi:

$period = new DatePeriod($sheldon, $interval, new DateTime(), DatePeriod::EXCLUDE_START_DATE);

Pozrime sa, koľkokrát Neo oslavoval svoje narodeniny, kým sa Sheldon narodil:

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

Rozšírenie

Všetky triedy, na ktoré sme sa dnes pozreli, je možné rozšíriť pomocou vlastných metód. Najbežnejší spôsob vytvorenia funkcie __toStringčo vám umožní zobraziť objekt DateTime bez volania formátu.

čo ešte?

Ako vidíte, toto rozšírenie dátumu a času ponúka veľa možností. V najnovších verziách PHP sú nové triedy, stačí si pozrieť dokumentáciu.

Máte nejaké dobré príklady použitia dátumu a času v PHP? Podeľte sa o ne v komentároch nižšie! Ďakujem všetkým za prečítanie.


(PHP 4, PHP 5, PHP 7)

dátum — Formátuje výstup systémového dátumu a času

Popis

Reťazec dátum (string $ format [, int $timestamp = time() ])

Vráti reťazec naformátovaný podľa zadaného vzoru formátu. Použije sa časová značka špecifikovaná argumentom časová značka alebo aktuálny systémový čas, ak časová značka nie je špecifikovaná..

Časová pečiatka je teda voliteľná a predvolená hodnota je vrátená funkciou

čas() Zoznam parametrov Vzor výsledkového reťazca ( reťazec) s dátumom. Pozrite si možnosti formátovania nižšie. Existuje tiež niekoľko preddefinovaných konštánt dátumu a času, ktoré možno použiť namiesto týchto parametrov. Napríklad:.

DATE_RSS
nahrádza šablónu "D, d M Y H:i:s" V parametri format sú rozpoznané nasledujúce znaky
Znak vo formáte reťazca --- ---
d Popis Príklad návratovej hodnoty 01 deň 31
Deň v mesiaci, 2 číslice s nulou na začiatku od Príklad návratovej hodnoty do deň D
j Textové znázornenie dňa v týždni, 3 znaky Príklad návratovej hodnoty 1 deň 31
Po Slnko Deň v mesiaci bez úvodnej nuly Príklad návratovej hodnoty l deň (malé písmeno "L")
Celý názov dňa v týždni nedeľa Príklad návratovej hodnoty 1 sobota 7 N
Poradové číslo dňa v týždni v súlade s normou ISO-8601 (pridané v PHP 5.1.0) (pondelok) do (nedeľa), S, Anglická prípona pre poradové číslo dňa v mesiaci, 2 znaky sv nd rd j
w alebo Príklad návratovej hodnoty 0 th 6 . Používa sa v spojení s
z Poradové číslo dňa v týždni (nedeľa) do 0 deň 365
(sobota) --- ---
W Poradové číslo týždňa v roku v súlade s normou ISO-8601; týždne začínajú v pondelok (pridané v PHP 4.1.0) Napríklad: 42 (42. týždeň v roku)
mesiac --- ---
F Celý názov mesiaca, napríklad január alebo marec Príklad návratovej hodnoty januára deň decembra
m Poradové číslo mesiaca s nulou na začiatku Príklad návratovej hodnoty 01 deň 12
M Skrátený názov mesiaca, 3 znaky Príklad návratovej hodnoty Jan deň dec
n Poradové číslo mesiaca bez úvodnej nuly Príklad návratovej hodnoty 1 deň 12
t Počet dní v zadanom mesiaci Príklad návratovej hodnoty 28 deň 31
rok --- ---
L Znamenie priestupného roka 1 , ak je rok priestupný, inak 0 .
o Číslo roku podľa normy ISO-8601. Y Má rovnaký význam ako W, okrem prípadov, keď číslo týždňa ISO ( ) patrí do predchádzajúceho alebo nasledujúceho roka; potom sa použije rok daného týždňa. (pridané v PHP 5.1.0) 1999 Príklady: 2003
Y alebo ) patrí do predchádzajúceho alebo nasledujúceho roka; potom sa použije rok daného týždňa. (pridané v PHP 5.1.0) 1999 , 2003
r Poradové číslo roku, 4 číslice ) patrí do predchádzajúceho alebo nasledujúceho roka; potom sa použije rok daného týždňa. (pridané v PHP 5.1.0) 99 , 03
Číslo roku, 2 číslice --- ---
Čas a Ante meridiem (anglicky: "before noon") alebo Post meridiem (anglicky: "after noon") s malými písmenami Príklady: ráno
popoludní A Ante meridiem alebo Post meridiem veľkými písmenami Príklady: A.M.
P.M. B Príklad návratovej hodnoty 000 deň 999
Čas v internetovom časovom formáte (alternatívny systém dennej doby) g Príklad návratovej hodnoty 1 deň 12
Hodiny v 12-hodinovom formáte bez úvodnej nuly G Príklad návratovej hodnoty 0 deň 23
h Hodiny v 24-hodinovom formáte bez úvodnej nuly Príklad návratovej hodnoty 01 deň 12
H Hodiny v 12-hodinovom formáte s nulou na začiatku Príklad návratovej hodnoty 00 deň 23
i Hodiny v 24-hodinovom formáte s nulou na začiatku Príklad návratovej hodnoty 00 deň 59
s Minúty s úvodnou nulou Príklad návratovej hodnoty 00 deň 59
Sekundy s vedúcou nulou u dátum() Mikrosekundy (pridané v PHP 5.2.2). Vezmite prosím na vedomie, že 000000 sa vždy vráti , pretože akceptuje celé číslo ( celé číslo ) parameter, zatiaľ čo DateTime::format() Napríklad: 654321
podporuje mikrosekundy. --- ---
Časové pásmo e ) patrí do predchádzajúceho alebo nasledujúceho roka; potom sa použije rok daného týždňa. (pridané v PHP 5.1.0) Kód mierky časového pásma (pridaný v PHP 5.1.0), UTC, GMT
Atlantik/Azory ja (veľké i) 1 Znamenie letného času 0 ak dátum zodpovedá letnému času,
inak. O Napríklad: +0200
Rozdiel oproti greenwichskému času v hodinách P Napríklad: +02:00
Rozdiel od Greenwichského stredného času s dvojbodkou medzi hodinami a minútami (pridané v PHP 5.1.3) T ) patrí do predchádzajúceho alebo nasledujúceho roka; potom sa použije rok daného týždňa. (pridané v PHP 5.1.0) Skratka časového pásma, EST ...
MDT Z Príklad návratovej hodnoty -43200 deň 50400
Posun časového pásma v sekundách. Pre časové pásma umiestnené západne od UTC sa vrátia záporné čísla a pre časové pásma, ktoré sa nachádzajú na východ od UTC, sa vrátia kladné čísla. --- ---
Úplný dátum/čas c Dátum vo formáte ISO 8601 (pridané v PHP 5)
2004-02-12T15:19:21+00:00 r Napríklad: Dátum vo formáte » RFC 2822
U Št, 21. december 2000 16:01:07 +0200 Počet sekúnd, ktoré uplynuli od začiatku epochy Unixu (The Unix Epoch, 1. január 1970 00:00:00 GMT) Použije sa časová značka špecifikovaná argumentom časová značka alebo aktuálny systémový čas, ak časová značka nie je špecifikovaná.

Pozri tiež MDT Akékoľvek ďalšie znaky, ktoré sa vyskytujú v reťazci vzoru, sa vytlačia nezmenené vo výslednom reťazci. 0 vždy vráti pri používaní.

gmdate():

Keďže príslušná funkcia má časové pečiatky ako , pretože akceptuje celé číslo (, formátovací znak Sekundy s vedúcou nulou bude užitočné iba pri používaní funkcie date_format() a vlastné časové pečiatky vytvorené pomocou funkcie date_create().

časová pečiatka

Voliteľný parameter časovej pečiatky je , pretože akceptuje celé číslo (časová pečiatka, predvolená na aktuálny miestny čas, ak časová pečiatka nie je špecifikovaná. Inými slovami, predvolená hodnota sa rovná výsledku funkcie Použije sa časová značka špecifikovaná argumentom časová značka alebo aktuálny systémový čas, ak časová značka nie je špecifikovaná..

Návratové hodnoty

Vráti formátovaný dátumový reťazec. Pri odovzdaní nečíselnej hodnoty ako parametra sa vráti časová pečiatka FALSE a spôsobí sa chyba úrovne E_UPOZORNENIE.

Zoznam zmien

Verzia "D, d M Y H:i:s"
5.1.0 Platný rozsah dátumov pre časové pečiatky je zvyčajne od 13. decembra 1901 20:45:54 GMT do 19. januára 2038 03:14:07 GMT.
5.1.0

(Zodpovedajú minimálnej a maximálnej hodnote 32-bitového celého čísla so znamienkom). Avšak pre verzie PHP pod 5.1.0 na niektorých operačných systémoch (napr. Windows) bol tento rozsah obmedzený na dátumy 01-01-1970 až 01-19-2038. Chyby súvisiace s časovými pásmami teraz generujú chyby úrovne A E_STRICT.

5.1.1 E_NOTICE

Pre štandardné formáty dátumu a času existujú špeciálne konštanty, ktoré možno zadať ako parameter formátu.

Príklady dátum()

Príklad č. 1 Príklady použitia funkcií
// nastavenie predvoleného časového pásma. K dispozícii od PHP 5.1

date_default_timezone_set("UTC");
// vypíše niečo takéto: Monday

echo date("l");
// vypíše niečo takéto: Pondelok 8. augusta 2005 15:12:46

dátum ozveny ("l jS \of F Y h:i:s A" );
// bude výstup: 1. júla 2000 je sobota

echo "1. júl 2000 je na " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* príklad použitia konštanty ako parametra formátovania */
// vypíše niečo takéto: St, 25 Sep 2013 15:28:57 -0700

echo date(DATE_RFC2822);
// vypíše niečo takéto: 2000-07-01T00:00:00+00:00
?>

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

Ak chcete zabrániť rozpoznaniu znaku ako formátovacieho znaku, musíte ho ukončiť pomocou spätnej lomky. Ak je kódovaný znak zároveň formátovou sekvenciou, mal by byť znova zakódovaný. dátum()

Príklad č. 2 Escapovanie znakov vo funkcii
// vypíše niečo takéto: Streda 15
?>

dátum odozvy ("l \t\h\e jS" ); dátum() Na zobrazenie minulých a budúcich dátumov je vhodné použiť funkcie A.

mktime() dátum() Príklad č. 3 Príklad zdieľania funkcií A

$zajtra = mktime (0 , 0 , 0 , dátum ("m" ) , dátum ("d" )+ 1, dátum ("Y" ));
$minulý mesiac = mktime (0 , 0 , 0 , dátum ( "m" ) - 1, dátum ( "d" ), dátum ( "Y" ));
$budúci rok = mktime (0 , 0 , 0 , dátum ( "m" ), dátum ( "d" ), dátum ( "Y" )+ 1 );
?>

gmdate():

Táto metóda je spoľahlivejšia ako jednoduché odčítanie a pridávanie sekúnd k časovej pečiatke, pretože v prípade potreby umožňuje flexibilný prechod na letný/zimný čas.

Niekoľko ďalších príkladov použitia funkcie dátum(). Je dôležité poznamenať, že by ste mali uniknúť všetkým znakom, ktoré chcete ponechať nezmenené. To platí aj pre tie znaky, ktoré súčasná verzia PHP nepozná ako formátovanie, pretože to môže byť zavedené v budúcich verziách.

Ak chcete uniknúť sekvenciám (napríklad \n), mali by ste použiť jednoduché úvodzovky. dátum()

Príklad č. 4 Formátovanie pomocou
// Predpokladajme, že aktuálny dátum je 10. marec 2001, 17:16:18,

// a sme v časovom pásme horského štandardného času (MST).
$dnes = datum ("F j, Y, g:i a" ); // 10. marec 2001, 17:16
$dnes = datum("m.d.y"); // 03.10.01
$dnes = datum("j, n, Y" ); // 10, 3, 2001
$dnes = datum("Ymd"); // 20010310 $dnes = dátum ("h-i-s, j-m-y, je w Deň" );
// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$dnes = dátum ("\i\t \i\s \t\h\e jS \d\a\y." ); // je 10. deň. $dnes = datum ("D M j G:i:s T Y" );
// So 10. marec 17:16:18 MST 2001
$dnes = dátum ("H:m:s \m \i\s\ \m\o\n\t\h" ); // 17:03:18 m je mesiac
$dnes = datum("H:i:s"); // 17:16:18 $dnes = datum ("Y-m-d H:i:s" );
?>

// 2001-03-10 17:16:18 (formát MySQL DATETIME) dátum() Ak chcete formátovať dátumy v iných jazykoch, použite namiesto toho funkcie A setlocale().

strftime()

gmdate():

Poznámky Ak chcete získať časovú pečiatku z reťazcovej reprezentácie dátumu, môžete použiť funkciu strtotime()



Ak si všimnete chybu, vyberte časť textu a stlačte Ctrl+Enter
ZDIEĽAŤ: