Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • Trenutno vrijeme php servera. Primjeri korištenja datuma i vremena u php

Trenutno vrijeme php servera. Primjeri korištenja datuma i vremena u php

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
" ) ; ?>

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 toliko.

Osnovna funkcija povezana sa datum i vrijeme u PHP-u, - ovo je 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. I neophodno je znati princip njihove upotrebe, a o tome govori sljedeći primjer:

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.

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 onda 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. godine, 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.

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

Top srodni članci