Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Iron
  • Vrijeme PHP servera je trenutno. Prva PHP skripta: Prikaz datuma i vremena

Vrijeme PHP servera je trenutno. Prva PHP skripta: Prikaz datuma i vremena

Pogledajmo dio koda sa prave web stranice, i napravimo našu prvu php skriptu, naime, prikažemo datum i trenutno vrijeme na našoj stranici. Ovaj scenario se često koristi na sajtovima i mislim da će mnogima biti od koristi.

Kreirajmo još jedan php fajl i nazovimo ga time.php. učili smo ranije, ako ste zaboravili da ponovite.

Tako smo kreirali time.php fajl i stavili ovu datoteku u prethodno kreiranu myphp fasciklu na adresi. Ovu temu smo učili u lekciji.

Otvorite kod za time.php fajl i između oznaka i propisujemo sljedeći kod, Listing 1:

Listing 1.

danas:

Trenutno vrijeme

Pokrećemo lokalni server, ukucamo adresu u adresnu traku pretraživača http: //localhost/myphp/time.php i pritisnite Enter. I vidimo ovu sliku:

Skrećem vam pažnju da se u ovom slučaju prikazuje trenutno vrijeme servera, one. ako se, na primjer, server na kojem vaša stranica "živi" nalazi u drugoj zemlji i trenutno vrijeme se razlikuje od moskovskog vremena, tada će se prikazana vrijednost vremena također razlikovati od moskovskog vremena.

Hajde da pogledamo kod Listing 1. Obične tekstualne oznake " Danas" i " Trenutno vrijeme"ne obrađuju PHP predprocesor i prikazuju se kao" jesu. "Umjesto ovih unosa, možete napisati bilo koji tekst, na primjer, samo datum ili Vrijeme itd.

A ovdje je php kod zatvoren u deskriptorimaPHP se obrađuje prije nego što bude proslijeđen pretraživaču.

Kao što ste vjerovatno već shvatili funkciju datuma u PHP-u odgovoran za prikaz datuma i vremena... Vrijednosti prikaza datuma i vremena date su u zagradama. U PHP-u postoji mnogo takvih vrijednosti, a sljedeću zasebnu lekciju posvetit ćemo ovoj analizi i proučavanju svih mogućih vrijednosti.

Echo izjava - prevodi se na povući, u ovom slučaju je namijenjen za prikaz na ekranu monitora Datum i Server Time.

Isti rezultat (prikaz u pretraživaču) može se postići postavljanjem cijele skripte unutar PHP deskriptora. Pogledaj Listing 2:

Listing 2.

echo "Danas:";
datum eha ("j F Y");
echo "Trenutno vrijeme";
echo date ("H: i: s");
?>

Svi tekstualni elementi namijenjeni za izlaz moraju biti stavljeni pod navodnike. Tekstualni nizovi mogu biti stavljeni u jednostruke i dvostruke navodnike, a razlika će biti razmotrena kasnije. Unose:

eho "Danas";

eho "Danas";

potpuno su ekvivalentni i izgledaju isto.

Razmak ispred završnog navodnika koristi se za odvajanje izlaza funkcije datuma od okolnog teksta. Sve naredbe u PHP-u su uvijek odvojene tačkom i zarezom.

Da biste prikazali datum i vrijeme na stranici, umetnite kod Listing 1 ili Listing 2 na pravo mjesto na vašoj web stranici. Da biste natpisima (datum i vrijeme) dali opći stil dizajna stranice, možete koristiti.

P.S. Da vas podsjetim da fajl u koji postavljate PHP inserte mora imati ekstenziju .php i, osim toga, hosting na kojem vaš sajt "živi" mora podržavati PHP (danas je to skoro sve

U distribuiranim sistemima vrijeme igra posebnu ulogu. Zbog malog odstupanja u satima sistema, Forex igrač može izgubiti hiljade dolara.

PHP datum i vrijeme

U distribuiranim sistemima kao što je Internet, vrijeme igra posebnu ulogu. Zbog malog odstupanja u sistemskom taktu, igrač na Forex tržištu može izgubiti desetine hiljada dolara za nekoliko minuta; sistem poslovne inteligencije će pogriješiti u predviđanju; NNTP serveri će u procesu sinhronizacije izgubiti važne informacije potrebne korisniku itd. PHP sadrži mnoge funkcije za rad sa datumom i vremenom. Najčešće korišteni su:

- vraća trenutno apsolutno vrijeme. Ovaj broj je jednak broju sekundi koje su prošle od ponoći 1. januara 1970. (od početka UNIX ere).

- čita informacije o datumu i vremenu. Vraća asocijativni niz koji sadrži informacije za navedeno vrijeme ili za trenutno (podrazumevano) vrijeme. Niz sadrži sljedeće elemente:

Primjer 1

Korištenje getdate () // koristi trenutno vrijeme foreach ($ d kao $ ključ => $ val) echo " $ ključ = $ val
"
; echo "


Danas: $ d. $ D. $ D "; ?>

Rezultat 1

sekundi = 21 minuta = 4 sata = 12 mdan = 10 sdan = 4 pon = 11 godina = 2005 ydan = 313 radni dan = četvrtak mjesec = novembar 0 = 1131613461 Danas: 10.11.2005.

- formatiranje datuma i vremena. Argumenti: format string i apsolutno vrijeme. Drugi argument je opcioni. Vraća string sa navedenim ili trenutnim datumom u navedenom formatu. Niz formata može sadržavati sljedeće kodove:

a
A Uključena oznaka "AM" ili "PM"
d Dan u mjesecu (01-31)
D Skraćeni naziv dana u sedmici (tri slova)
F Puni naziv mjeseca
g Sati (12-satni format bez vodećih nula)
G Sati (24-satni format bez vodećih nula)
h Sat (12-satni format)
H Sat (24-satni format)
i Minute (00-59)
j Dan u mjesecu bez vodećih nula (1-31)
l Puni naziv dana u sedmici
L Prijestupna godina (0 ili 1)
m Mjesec (01-12)
M Skraćeni naziv mjeseca (tri slova)
n Mjesec (1-12)
s Sekunde (00-59)
t Broj dana u datom mjesecu (28 do 31)
U Apsolutno vrijeme
w
y godina (dvije cifre)
Y godina (četiri cifre)
z Dan u godini (0-365)
Z Pomak vremenske zone u sekundama (-43200 do 43200)

Sve druge informacije uključene u string formata bit će umetnute u vraćeni niz. Ako želite da u niz formata dodate znakove koji su sami po sebi kodovi formata, morate ispred njih staviti obrnutu kosu crtu "\". Znakovi koji postaju kodovi formata kada se dodaju obrnutom kosom crtom moraju prethoditi dvije kose crte naprijed. Na primjer, ako želite dodati "n" stringu, unijeli biste "\\ n" jer je "\ n" znak novog reda.

Primjer 2

Korištenje datuma ()

Rezultat 2

Danas: 10.11.05 13:03

- vraća apsolutno vrijeme, koje se onda može koristiti s funkcijama datum () getdate ()... Prihvata do šest cjelobrojnih argumenata sljedećim redoslijedom:

  1. minuta
  2. sekundi
  3. mjesec
  4. mjeseci

Primjer 3

Korištenje mktime () \\ t g.i a, l ", mktime (13, 30, 0, 1, 22, 1971)); ?>

Rezultat 3

- provjera ispravnosti datuma. Argumenti: mjesec, dan, godina. Vraća true ako je datum tačan, tj.

  1. mjesec - cijeli broj od 1 do 12;
  2. dan je cijeli broj koji ne prelazi ukupan broj dana u datom mjesecu. U ovom slučaju, prijestupne godine se tretiraju ispravno;
  3. godina je cijeli broj od 1 do 32767.

Primjer 4

if (! datum provjere ($ mjesec, 1, $ godina)) ($ d = getdate (); $ mjesec = $ d [mon]; $ godina = $ d [godina];)

Pažnja! Datum može biti u važećem rasponu, ali druge funkcije datuma neće prihvatiti ovu vrijednost. Dakle, ne možete koristiti mktime () za godine prije 1902., a također bi se trebao koristiti štedljivo za godine prije 1970.

- formiranje lokalnog datuma i vremena. Argumenti: format string i apsolutno vrijeme. Drugi argument je opcioni. Vraća string sa navedenim ili trenutnim datumom u navedenom formatu. U ovom slučaju, nazivi mjeseci i dana u sedmici se izdvajaju iz lokalizacije odabrane pomoću funkcije setlocate ()
Niz formata može sadržavati sljedeće kodove:

% a Skraćeni naziv dana u sedmici
% A Puni naziv dana u sedmici
% b Skraćeni naziv mjeseca
% B Puni naziv mjeseca
% c Željeni format datuma i vremena
% C Broj stoljeća
% d Dan u mjesecu (1-31)
% D Isto kao % m /% d /% g
% e Mjesec (1-12)
% h Isto kao % b
% H Sat (24-satni format)
% I Sat (12-satni format)
% j Dan u godini (0-365)
% m Mjesec (1-12)
% M Minute
% n Znak novog reda
% str Uključena notacija 'am' ili 'pm'
% r Vrijeme korištenjem notacije prijepodne/p.m
% R Vrijeme u 24-satnom formatu
% S Sekunde (00-59)
% t Tab znak
% T Isto kao % H:% M:% S
% u Broj dana u nedelji (1 - ponedeljak, 7 - nedelja)
% U Broj sedmice. Odbrojavanje počinje od prve nedjelje u godini
% V ISO 8601: 1988 broj sedmice. Prva sedmica mora imati najmanje četiri dana, a prvim danom se smatra ponedjeljak
% W Broj sedmice. Odbrojavanje počinje od prvog ponedjeljka u godini
% w Broj dana u nedelji (0 - nedelja, 6 - subota)
% x Željeni format datuma bez vremena
% X Željeni format vremena bez datuma
% y godina (dvije cifre)
% Y godina (četiri cifre)
% Z Vremenska zona (naziv ili skraćenica)
%% Simbol "%"

Sve druge informacije uključene u string formata bit će umetnute u vraćeni niz.

Primjer 5

Korištenje strftime () % d% B% Y% H:% M
" ); error_reporting (E_ALL & ~ E_WARNING); setlocale ("LC_ALL", ""); echo strftime ("Danas% A % d% B% Y% X
"
); echo strftime ("% Z
" ) ; ?>

JavaScript je blokiran u vašem pretraživaču. Omogućite JavaScript da bi stranica radila!

Prikaz datuma i vremena

U distribuiranim sistemima kao što je Internet, vrijeme igra posebnu ulogu. Zbog malog odstupanja u sistemskom taktu, igrač na Forex tržištu može izgubiti desetine hiljada dolara za nekoliko minuta; sistem poslovne inteligencije će pogriješiti u predviđanju; NNTP serveri će u procesu sinhronizacije izgubiti važne informacije potrebne korisniku itd.

PHP sadrži mnoge funkcije za rad sa datumom i vremenom. Najčešće korišteni su:

  • vrijeme ()- vraća trenutno apsolutno vrijeme. Ovaj broj je jednak broju sekundi koje su prošle od ponoći 1. januara 1970. (od početka UNIX ere).
  • getdate ()- čita informacije o datumu i vremenu. Vraća asocijativni niz koji sadrži informacije za navedeno vrijeme ili za trenutno (podrazumevano) vrijeme. Niz sadrži sljedeće elemente:

    Primjer 1

    Korištenje getdate () $ val) echo "$ ključ = $ val
    "; eho"
    Danas: $ d. $ D. $ D ";?>

    REZULTAT PRIMJERA 1:

    Sekunde = 21 minuta = 4 sata = 12 mdan = 10 dan = 4 pon = 11 godina = 2005 ydan = 313 radni dan = četvrtak mjesec = novembar 0 = 1131613461 Danas: 10.11.2005.

  • datum ()- formatiranje datuma i vremena. Argumenti: format string i apsolutno vrijeme. Drugi argument je opcioni. Vraća string sa navedenim ili trenutnim datumom u navedenom formatu. Niz formata može sadržavati sljedeće kodove:
    a
    AUključena oznaka "AM" ili "PM"
    dDan u mjesecu (01-31)
    DSkraćeni naziv dana u sedmici (tri slova)
    FPuni naziv mjeseca
    gSati (12-satni format bez vodećih nula)
    GSati (24-satni format bez vodećih nula)
    hSat (12-satni format)
    HSat (24-satni format)
    iMinute (00-59)
    jDan u mjesecu bez vodećih nula (1-31)
    lPuni naziv dana u sedmici
    LPrijestupna godina (0 ili 1)
    mMjesec (01-12)
    MSkraćeni naziv mjeseca (tri slova)
    nMjesec (1-12)
    sSekunde (00-59)
    tBroj dana u datom mjesecu (28 do 31)
    UApsolutno vrijeme
    w
    ygodina (dvije cifre)
    Ygodina (četiri cifre)
    zDan u godini (0-365)
    ZPomak vremenske zone u sekundama (-43200 do 43200)

    Sve druge informacije uključene u string formata bit će umetnute u vraćeni niz. Ako želite da u niz formata dodate znakove koji su sami po sebi kodovi formata, morate ispred njih staviti obrnutu kosu crtu "\". Znakovi koji postaju kodovi formata kada se dodaju obrnutom kosom crtom moraju prethoditi dvije kose crte naprijed. Na primjer, ako želite dodati "n" stringu, unijeli biste "\\ n" jer je "\ n" znak novog reda.

    Primjer 2

    Korištenje datuma ()

    REZULTAT PRIMJERA 2:

    Danas: 10.11.05 13:03

  • mktime ()- vraća apsolutno vrijeme, koje se zatim može koristiti s funkcijama date () ili getdate (). Prihvata do šest cjelobrojnih argumenata sljedećim redoslijedom:

    Sat
    minuta
    sekundi
    mjesec
    dan u mjesecu
    godine

    Primjer 3

    Korištenje mktime ()

    REZULTAT PRIMJERA 3:

  • datum provjere ()- provjera ispravnosti datuma. Argumenti: mjesec, dan, godina. Vraća true ako je datum tačan, tj.
    mjesec - cijeli broj od 1 do 12;
    dan je cijeli broj koji ne prelazi ukupan broj dana u datom mjesecu. U ovom slučaju, prijestupne godine se tretiraju ispravno;
    godina je cijeli broj od 1 do 32767.

    Na primjer:

    Ako (! Datum provjere ($ mjesec, 1, $ godina)) ($ d = getdate (); $ mjesec = $ d; $ godina = $ d;)

    Pažnja! Datum može biti u važećem rasponu, ali druge funkcije datuma neće prihvatiti ovu vrijednost. Dakle, ne možete koristiti mktime () godinama prije 1902., a trebali biste ga pažljivo koristiti i godinama prije 1970. godine.

  • strftime ()- formiranje lokalnog datuma i vremena. Argumenti: format string i apsolutno vrijeme. Drugi argument je opcioni. Vraća string sa navedenim ili trenutnim datumom u navedenom formatu. U ovom slučaju, nazivi mjeseci i dana u sedmici se izdvajaju iz lokalizacije odabrane pomoću funkcije Format string može sadržavati sljedeće kodove:
    % aSkraćeni naziv dana u sedmici
    % APuni naziv dana u sedmici
    % bSkraćeni naziv mjeseca
    % BPuni naziv mjeseca
    % cŽeljeni format datuma i vremena
    % CBroj stoljeća
    % dDan u mjesecu (1-31)
    % DIsto kao % m /% d /% g
    % eMjesec (1-12)
    % hIsto kao % b
    % HSat (24-satni format)
    % ISat (12-satni format)
    % jDan u godini (0-365)
    % mMjesec (1-12)
    % MMinute
    % nZnak novog reda
    % strUključena je oznaka "am" ili "pm".
    % rVrijeme korištenjem notacije prijepodne/p.m
    % RVrijeme u 24-satnom formatu
    % SSekunde (00-59)
    % tTab znak
    % TIsto kao % H:% M:% S
    % uBroj dana u nedelji (1 - ponedeljak, 7 - nedelja)
    % UBroj sedmice. Odbrojavanje počinje od prve nedjelje u godini
    % VISO 8601: 1988 broj sedmice. Prva sedmica mora imati najmanje četiri dana, a prvim danom se smatra ponedjeljak
    % WBroj sedmice. Odbrojavanje počinje od prvog ponedjeljka u godini
    % wBroj dana u nedelji (0 - nedelja, 6 - subota)
    % xŽeljeni format datuma bez vremena
    % XŽeljeni format vremena bez datuma
    % ygodina (dvije cifre)
    % Ygodina (četiri cifre)
    % ZVremenska zona (naziv ili skraćenica)
    %% Simbol "%"

    Sve druge informacije uključene u string formata bit će umetnute u vraćeni niz.

Očigledno, vrlo često programeri moraju rad sa datumom i vremenom... Najjednostavniji primjer je datum i vrijeme kada je poruka postavljena na forum. I, naravno, takve stvari se mogu realizovati PHP, pogotovo jer su mogućnosti za rad sa datumom i vremenom u PHP-u mnogo.

Osnovna funkcija povezana sa datum i vrijeme u PHP-u, - it funkcija vremena (). koji vraća broj sekundi koji su protekli od toga ponoć 01.01.1970(početak ere Unix):

vrijeme odjeka ();
?>

Pokretanjem ove skripte saznaćete koliko je sekundi prošlo od tada ponoć 01.01.1970 do poziva funkcije vremena (). u vašem scenariju.

Naravno, pored ove osnovne funkcije, koja je prisutna u svim programskim jezicima gdje možete rad sa datumom i vremenom(barem među onima koje poznajem) postoji još jedna funkcija koja se zove getdate ():

$ datetime = getdate ();
foreach ($ datetime kao $ k => $ v)
echo "$ k - $ v
";
?>

Pokretanjem ove skripte, vidjet ćete skup ključeva u nizu i njihove odgovarajuće vrijednosti (istovremeno ste ponovili konstrukciju za svaki). Mislim da vam sada neće biti teško da saznate bilo koji podatak koji se odnosi na datum i vrijeme... Na primjer, da biste prikazali trenutno vrijeme, napisali biste sljedeći kod:

$ datetime = getdate ();
echo $ datetime ["sati"]. ":". $ datetime ["minute"]. ":". $ datetime ["sekunde"];
?>

Takođe imaju getdate () funkcije postoji opcioni parametar koji označava broj sekundi koji su protekli od tada ponoć 01.01.1970... Napravljen je tako da ova funkcija može vratiti ne samo trenutno vrijeme i datum, već, općenito govoreći, bilo koje:

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

Kao rezultat, vidjet ćete 1974. godine godine.

Postoji također funkcija datuma ().... Preporučujem da pogledate njegov opis u priručniku, jer ova funkcija uzima vrlo složen parametar koji postavlja format za prikaz datuma. Postoji nešto više od 30 elemenata oblikovanja. A u primjeru ispod, dat ću ih nekoliko, a ostale pogledajte u priručniku, jer ih ne morate pamtiti, ali je vrlo poželjno upoznati se s njima. A princip njihove upotrebe potrebno je znati, i sljedeći primjer o tome:

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

Kao rezultat, vidjet ćete nešto poput ovoga: " Danas 15.11.2010 21:44:24 Takođe imam funkcije datuma (). postoji i drugi opcioni parametar koji postavlja vremenska oznaka, samo ta vrijednost jednaka broju sekundi koje je prošlo od ponoć 01.01.1970... Primjer korištenja drugog parametra:

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

Postoji također funkcija gmdate ()., što je potpuni analog funkcije datuma ()., ali funkcija gmdate (). prikazuje vrijeme ne prema vremenskoj zoni servera na kojem se skripta izvodi, već prema Greenwich... Očigledno, korištenjem ove funkcije morate pohraniti sve podatke o datumu i vremenu koje korisnik vidi, a prilikom prikaza potrebno je prilagoditi vremensku zonu svakog korisnika (idealno, naravno):

echo gmdate ("Sada u Greenwichu D M j H: i: s T Y")
?>

Kao rezultat, vidjet ćete nešto poput sljedećeg: " Pon, 15. nov, 18:52:45 GMT 2010". Naravno, imat ćete prikazan drugačiji datum, ali u sličnom formatu. Također vam toplo preporučujem da uđete u imenik i samo se upoznate sa ostalim elementima datuma i vremena u PHP(dao sam samo trećinu), pošto date () i gmdate () funkcije- ovo je najlakši i najbrži način dobiti datum i vrijeme u gotovo svakom formatu.

Među raznim programskim zadacima prilično su uobičajene različite manipulacije s vrijednostima datuma i vremena. Rijedak automatizirani sistem, baza podataka može bez pohranjivanja informacija o vremenu određenog procesa. Pored najjednostavnijeg dodavanja datuma u zapis baze podataka ili prikazivanja ovog datuma, postoji mnogo zadataka za prikazivanje ovih datuma u različitim oblicima, provjeravanje da li se trenutno vrijeme poklapa sa datim mjeračem vremena, izračunavanje perioda između dva datuma i još mnogo toga.

Za praktičnost rada s datumima, svaki programski jezik ima svoje posebne tipove podataka za pohranjivanje vrijednosti datuma i vremena. Najčešće je to numerička vrijednost, bilo cijeli broj ili pokretni zarez.

U PHP-u rad sa datumima najčešće ometa UNIX TIMESTAMP. Vrijeme je ovdje pohranjeno kao cijeli broj. Vrijeme počinje od 1. januara 1970. godine. Stoga će, na primjer, datum i vrijeme 12/11/2014 19:40:00 biti predstavljeni brojem 1418316000. Ova brojka pokazuje koliko je sekundi prošlo od nultog datuma 1. januara 1970., koji se zove Unix Era .

Primjer php-stranice koja pruža mogućnosti konverzije podataka predstavljen je na stranici u programskom dijelu programa "Konverzija formata datuma i vremena". Ovdje možete oblikovati željeni datum u UNIX TIMESTAMP formatu, kao i dovesti ovaj format u standardni, čovjeku čitljiv oblik.

Dobivanje trenutnog vremena i datuma u PHP-u

Da biste dobili trenutno vrijeme servera, koristite funkciju

int vrijeme (nevaljano)

koji će samo vratiti vrijednost u unix formatu vremenske oznake.

vrijeme odjeka (); // prikazuje trenutno vrijeme u unix formatu vremenske oznake

Na prvi pogled, to nije baš zgodan format za osobu, ali, kao što znate, što je jednostavnija prezentacija podataka, to je brža obrada ovih vrijednosti od strane računara. Osim toga, pohranjivanje broja u bazu podataka je mnogo ekonomičnije od bilo kojeg posebnog formata. Takođe, PHP tokom vremena radi na isti način i na Unix i na Windows platformama, što omogućava korišćenje koda na bilo kojoj od ovih platformi.

Pretvaranje formata datuma i vremena u PHP

Najjednostavniji mehanizam za pretvaranje numeričke vrijednosti datuma u značajnije vrijednosti osigurava funkcija:

niz getdate ()

Vraća asocijativni niz koji sadrži informacije o datumu. Ako parametar vremenske oznake nije naveden, bit će vraćene informacije o trenutnom vremenu. Ovaj niz sadrži sljedeće vrijednosti:

Rezultirajući niz vam omogućava da prikažete vrijednosti u željenom obliku:

$ datum = 1418372345;
$ date_mas = getdate ($ datum);
echo $ date_mas ["mday"]. "." $ date_mas ["pon"]. "." $ date_mas ["godina"]; // 12.12.2014


Funkciju možete koristiti i za pretvaranje formata datuma i vremena:

string datum (string $ template [, int $ unix_timestamp])

Dizajniran je da dobije trenutni datum unix vremenske oznake u traženom formatu. Parametar stringa šablona $ definira izlazni format. Parametar $ unix_timestamp se može koristiti za postavljanje vrijednosti vremena za rad. Nije obavezno, pa ako ga ne navedete, koristit će se trenutni datum i vrijeme.

Format je određen sljedećim vrijednostima:

a"prije" i "poslije" podneva: "am" ili "pm"
A"prije" i "poslije" podne velikim slovima: "AM" ili "PM"
ddan u mjesecu sa 2 cifre (ako je manje od 10, nula na prvom mjestu) (od 01 do 31)
Ddan u sedmici sa 3 slova. Na primjer, "pon" (ponedeljak)
jdan u mjesecu, 1-2 cifre bez vodećih nula (od 1 do 31)
Fnaziv mjeseca. Na primjer, "januar"
hsat, 12-satni format (01 do 12)
Hsat, 24-satni format (00 do 23)
gsat, 12-satni format bez nula (1 do 12)
Gsat, 24-satni format bez nula (0 do 23)
iminuta (00 do 59)
ja (veliko i)1, ako je ljetno računanje vremena na snazi, u suprotnom 0
L1 ako je godina prijestupna, ili 0 ako nije prijestupna
Bvrijeme u Internet formatu (alternativno doba dana) (000 do 999)
Tvremenska zona računara. Na primjer MDT
l (mala slova L)dan u tjednu. Na primjer, "ponedjeljak"
mmjesec, dvije cifre iza kojih slijede nule (01 do 12)
nmjesec, jedna ili dvije cifre bez nula (od 1 do 12)
Mskraćeni naziv mjeseca. Na primjer, "Jan"
tbroj dana u navedenom mjesecu (od 28 do 31)
ssekundi (0 do 59)
Sredni nastavak dvoslovnog broja na engleskom jeziku ("st", "nd", "rd" ili "th")
Ucijeli broj sekundi od početka UNIX ere
ygodina, numerički, 2 cifre (14)
Ygodina, numerički, 4 cifre (2014)
zredni broj dana u godini (od 0 do 365)
Zmiješanje vremenske zone u sekundama (od -43200 do 43200)
Nredni broj dana u sedmici od 1 (ponedeljak) do 7 (nedelja) u skladu sa standardom ISO-8601, (dodato u PHP 5.1.0)
wredni broj dana u sedmici od 0 (nedjelja) do 6 (subota)
Wredni broj sedmice u godini u skladu sa standardom ISO-8601; sedmice počinju od ponedjeljka (dodato u PHP 4.1.0)
obroj godine prema standardu ISO-8601. Ima isto značenje kao Y, osim ako je ISO broj sedmice (W) u prethodnoj ili narednoj godini; tada će se koristiti godina te sedmice. (dodato u PHP 5.1.0)
ekod vremenske zone. Na primjer: UTC, GMT, Atlantic / Azores (dodato u PHP 5.1.0)
Orazlika od GMT, u satima. Na primjer: +0200
Prazlika od GMT sa dvotočkom između sati i minuta. Na primjer: +02: 00 (dodato u PHP 5.1.3)
cdatum u formatu ISO 8601. Na primjer, 2014-12-12T15: 19: 21 + 00: 00 (dodato u PHP 5)
rdatum u formatu "RFC 2822. Na primjer: Thu, 21 Dec 2000 16:01:07 +0200
Ubroj sekundi od početka Unix epohe (The Unix Epoch, 1. januar 1970. 00:00:00 GMT)

Kao što možete vidjeti iz liste, postoji mnogo korisnih podataka o datumima koji se mogu dobiti pomoću ove funkcije. Na primjer:

$ datum = 1418372345; // originalni datum i vrijeme 12.12.2014. 11:19:05

echo date ("d.m.Y", $ datum); // 12.12.2014. (datum)
echo date ("H: i: s", $ datum); // 11:19:05 (vrijeme)
echo date ("H: i", $ datum); // 11:19 (vrijeme)
echo date ("t", $date); // 31 (broj dana u mjesecu)
echo date ("z", $date); // 345 (redni broj dana u godini)
echo date ("l dS \ od F Y h: i: s A", $ datum); // Petak, 12. prosinca 2014. 11:19:05

Ostali znakovi uključeni u uzorak bit će prikazani na liniji onakvi kakvi jesu. Ako trebate unijeti znak koji se koristi kao kod formata u funkciji, ispred njih se ubacuje znak "\". Za vrijednost "\ n" (znak novog reda), navedite "\\ n". Dakle, možete nacrtati izlaz cijele poruke koja sadrži informacije o datumu i vremenu:

echo date ( "Danas je z-ti dan Y godine", $ datum); // Danas je 345. dan 2014. godine

Pretvorite datum i vrijeme u format vremenske oznake

Za konverziju datuma iz standardnog formata u brojčanu vrijednost vremenske oznake, koristite funkciju:

int mktime (]]]]]]

Funkcija mktime () vraća Unix vrijednost vremena koja odgovara datumu i vremenu navedenim u argumentima. Na primjer:

$ my_date = mktime (10, 30, 0, 12, 12, 2014);

Trebali biste paziti na redoslijed argumenata funkcije: sati, minute, sekunde, mjesec, dan, godina.

Osim jednostavnog generiranja vrijednosti datuma u vremenskoj oznaci, funkcija mktime () može se koristiti za aritmetiku s datumima. Da biste to učinili, možete jednostavno unijeti tražene argumente. Na primjer, ako navedete mjesec 14, tada će u ukupnoj vrijednosti mjesec biti 2., a vrijednost godine će se povećati za jedan:

$ my_day = 12;
$ my_month = 12;
$ my_year = 2014;

$ new_date = mktime (0, 0, 0, $ my_month + 5, $ my_day, $ my_year);

echo date ("d.m.Y", $ new_date); // 05/12/2015 (datum)

Isto možete učiniti i sa drugim parametrima.

PHP Validacija datuma

Prilikom rada sa datumima, posebno pri formiranju datuma pomoću gore navedene funkcije mktime (), potrebno je voditi računa o ispravnosti unesenog datuma. Da bi to uradio, PHP koristi funkciju:

bool datum provjere (int mjesec, int dan, int godina)

Vraća true ako je datum dat u argumentima tačan; inače vraća false. Datum se smatra tačnim ako:

Godina u rasponu od 1 do 32767;

Mjesec u rasponu od 1 do 12;

Dan za dati mjesec, uključujući i prijestupnu godinu, je tačan.

Primjer provjere datuma:

$ my_day = 32;
$ my_month = 12;
$ my_year = 2014;

ako (! datum provjere ($ moj_mjesec, $ moj_dan, $ moja_godina))
echo "Greška: datum je pogrešno naveden";

Top srodni članci