Pogledajmo kako raditi sa datumima i vremenom u PHP-u.

Vrijeme uUnix-računari

Za Unix računare vrijeme počinje u ponoć 1. januara 1970. godine. Svaki datum se računa kao broj sekundi (označenih vremenskom oznakom) koje su prošle od 1. januara 1970. godine. Ove konvencije se takođe koriste u PHP-u. Na primjer, želimo ići jedan dan unaprijed. Zatim samo trebate dodati 60×60×24 sekunde trenutnoj vrijednosti vremenske oznake.

Ova šema za praćenje vremena uvelike pojednostavljuje operacije s datumima. Na primjer, ako je jedna vrijednost vremenske oznake veća od druge, prva vrijednost odgovara kasnijem datumu od druge.

Vremenske jedinice u sekundi

Dobivanje trenutnog vremena

U PHP-u, da biste dobili trenutnu vrijednost vremenske oznake, trebate pozvati funkciju time() bez parametara, na primjer:

Mnoge PHP funkcije datuma i vremena uzimaju vrijednost vremenske oznake kao argument. Na primjer, funkcija date() vraća niz datuma formatiran prema navedenom formatu, na primjer:

Stvaranjevremenska oznaka po datumu

Funkcijamktime() će kreirati vremensku oznaku ako navedete sat, minut, sekundu, dan u mjesecu, mjesec i godinu:

Funkcijastrtotime()

Funkcija generiše vremensku oznaku za datum naveden kao fraza na engleskom, na primjer 1. april ili petak.

Vrijednost datuma mora biti navedena u formatu GGGG-MM-DD. Ako strtotime funkcija ne može pretvoriti datum, vraća false.

Primjeri korištenja funkcijedatum()

Ugrađena funkcija floor() se koristi za odbacivanje razlomka rezultata.

Sljedeći tekst možete preskočiti pri prvom čitanju

Formati datuma u bazama podatakaMySQL

Format vremenske oznake u PHP-u nije kompatibilan sa formatom vremenske oznake u MySQL DBMS.

MySQL ima tri tipa polja za datum i vrijeme: DATA (datum), TIME (vrijeme), DATETIME (datum i vrijeme). Postoji i poseban tip podataka TIMESTAMP koji radi kao DATETIME, ali se automatski ažurira prema njemu trenutno vrijeme svaki zapis vremenskog rasporeda se umeće ili ažurira.

Za konvertovanje vremenske oznake u PHP formatu u MySQL format, možete koristiti sljedeći kod:

Datum("Y-m-d H:i:s", $timestamp)

Na primjer, možemo koristiti “2008-10-01 13:23:40” kao datum i vrijeme.

Da biste dobili PHP vremensku oznaku iz SELECT upita, trebate koristiti UNIX_TIMESTAMP() SQL funkciju:

SELECT UNIX_TIMESTAMP(datum) IZ tabele

MySQL ima mnogo drugih korisne funkcije za rad sa datumom i vremenom.

string datum(niz formatu[, int vremenska oznaka])

Vraća vrijeme formatirano prema argumentu formatu, koristeći vremensku oznaku specificiranu argumentom vremenska oznaka ili trenutni sistemsko vrijeme, Ako vremenska oznaka nije specificirano. drugim riječima, vremenska oznaka je opciono i podrazumevano je na vrednost koju vraća funkcija vrijeme() .

komentar: Za većinu sistema, važeći datumi su od 13. decembra 1901, 20:45:54 GMT do 19. januara 2038, 03:14:07 GMT. (Ovi datumi odgovaraju minimalnim i maksimalna vrijednost 32-bitni predpisani cijeli broj). Za Windows, važeći datumi su od 01/01/1970 do 01/19/2038.

komentar: Da biste dobili vremensku oznaku iz niza prikaza datuma, možete koristiti funkciju strtotime(). Osim toga, neke baze podataka imaju vlastite funkcije za pretvaranje internog prikaza datuma u vremensku oznaku (na primjer, funkcija MySQL UNIX_TIMESTAMP).

U parametru formata prepoznaju se sljedeći znakovi

Znak u nizu formata Opis Primjer povratne vrijednosti
a Ante meridiem ili Post meridiem malim slovima ujutro ili poslijepodne
A Ante meridiem ili Post meridiem in velika slova AM ili popodne
B Vrijeme u Swatch Internet standardu Od 000 do 999
c Datum na ISO format 8601 (dodato u PHP 5) 2004-02-12T15:19:21+00:00
d Dan u mjesecu, 2 cifre sa vodećim nulama od 01 do 31h
D Skraćeni naziv dana u sedmici, 3 znaka od pon do ned
F Puni naziv mjeseca, kao što je januar ili mart od januara do decembra
g Sat u 12-satnom formatu bez vodećih nula Od 1 do 12
G Sat u 24-satnom formatu bez vodećih nula Od 0 do 23
h Sat u 12-satnom formatu sa vodećim nulama Od 01 do 12h
H Sat u 24-satnom formatu sa vodećim nulama Od 00 do 23
i Minute sa vodećim nulama 00 do 59
ja (veliko i) Znak za ljetno računanje vremena 1 ako datum odgovara ljetnom računanju vremena, u suprotnom 0 u suprotnom.
j Dan u mjesecu bez vodećih nula Od 1 do 31
l (mala slova "L") Puni naziv dana u sedmici Od nedjelje do subote
L Znak prestupne godine 1 ako je godina prijestupna, u suprotnom 0.
m Redni broj mjeseca sa vodećim nulama Od 01 do 12h
M Skraćeni naziv mjeseca, 3 znaka Od januara do decembra
n Redni broj mjeseca bez vodećih nula Od 1 do 12
O Razlika od srednjeg vremena po Griniču u satima Na primjer: +0200
r Datum u formatu RFC 2822 Na primjer: Thu, 21 Dec 2000 16:01:07 +0200
s Sekunde sa vodećim nulama Od 00 do 59 časova
S Engleski sufiks za redni broj dana u mjesecu, 2 znaka st, nd, rd ili th. Koristi se zajedno sa j
t Broj dana u mjesecu Od 28 do 31
T Vremenska zona na serveru Primjeri: EST, MDT...
U Broj sekundi koji su prošli od početka Unix epohe (The Unix Epoch, 1. januar 1970, 00:00:00 GMT) Vidi također vrijeme()
w Redni broj dana u sedmici Od 0 (nedjelja) do 6 (subota)
W Redni broj sedmice u godini prema ISO-8601, prvi dan u sedmici je ponedjeljak (dodato u PHP 4.1.0) Na primjer: 42 (42. sedmica u godini)
Y Serijski broj godine, 4 cifre Primjeri: 1999, 2003
y Broj godine, 2 cifre Primjeri: 99 , 03
z Redni broj dana u godini (numeracija od 0) Od 0 do 365
Z Pomak vremenske zone u sekundama. Za vremenske zone zapadno od UTC ovo je negativan broj, za vremenske zone istočno od UTC je pozitivan. -43200 do 43200

Bilo koji drugi karakter koji se nađe u nizu formatu, će biti izlaz u liniju rezultata bez promjena. Z uvijek vraća 0 kada se koristi gmdate() .

Primjeri korištenja funkcije date().

Možete izbjeći prepoznavanje znaka kao znaka za formatiranje tako što ćete izbjeći znak sa \ Ako je, u kombinaciji sa \, znak poseban (na primjer, \t), trebali biste dodati još jedan \.

Izlazni znakovi u funkciji date().

Za prikaz vremena ili datuma u prilagođenom formatu postoji funkcija datuma.

Ovaj primjer prikazuje trenutni datum u formatu dan/mjesec/godina kao brojevi. Nakon što pročitate ovaj članak do kraja, moći ćete ga prikazati trenutni datum i vrijeme u bilo kojem formatu.
Ova funkcija vam omogućava da prikažete ne samo trenutni datum i vrijeme, već i pretvorite vremensku oznaku u određeni format. Vremenska oznaka je broj sekundi koji je prošao od osnivanja linuxa. Ovaj broj se može dobiti pomoću funkcije time(). Vremenska oznaka u funkciji datuma je izborni parametar.Da biste dobili format koji vam je potreban, možete koristiti posebne modifikatore u prvom parametru. Ima ih dosta.

Znak u nizu formataOpisPrimjer povratne vrijednosti
aam ili pm malim slovimaam, pm
AAM ili PM velikim slovimaAM, popodne
BVrijeme u Swatch Internet standarduOd 000 do 999
cDatum u ISO 8601 formatu (dodato u PHP 5)2005-06-11T11:11:11+00:00
dDan u mjesecu, 2 cifre sa vodećim nulamaod 01 do 31h
DSkraćeni naziv dana u sedmici, 3 znakaod pon do ned
FPuni naziv mjesecaod januara do decembra
gSat u 12-satnom formatu bez vodećih nulaOd 1 do 12
GSat u 24-satnom formatu bez vodećih nulaOd 0 do 23
hSat u 12-satnom formatu sa vodećim nulamaOd 01 do 12h
HSat u 24-satnom formatu sa vodećim nulamaOd 00 do 23
iMinute sa vodećim nulama00 do 59
ja (veliko i)Znak za ljetno računanje vremena1 ako datum odgovara ljetnom računanju vremena, u suprotnom 0 u suprotnom.
jDan u mjesecu bez vodećih nulaOd 1 do 31
l (mala slova "L")Puni naziv dana u sedmiciOd nedjelje do subote
LZnak prestupne godine1 ako je godina prijestupna, inače 0.
mRedni broj mjeseca sa vodećim nulamaOd 01 do 12h
MSkraćeni naziv mjeseca, 3 znakaOd januara do decembra
nRedni broj mjeseca bez vodećih nulaOd 1 do 12
ORazlika od srednjeg vremena po Griniču u satima+0200
rDatum u formatu RFC 2822Thu, 28 Jan 2011 15:11:14 +0200
sSekunde sa vodećim nulamaOd 00 do 59 časova
SEngleski sufiks za redni broj dana u mjesecu, 2 znakast, nd, rd ili th. Koristi se zajedno sa j
tBroj dana u mjesecuOd 28 do 31
TVremenska zona na serveruPrimjeri: EST, MDT...
UBroj sekundi koji su prošli od početka Unix epohe (The Unix Epoch, 1. januar 1970, 00:00:00 GMT)1356361196
wRedni broj dana u sedmiciOd 0 (nedjelja) do 6 (subota)
WRedni broj sedmice u godini prema ISO-8601, prvi dan u sedmici je ponedjeljak (dodato u PHP 4.1.0)Na primjer: 42 (42. sedmica u godini)
YSerijski broj godine, 4 cifrePrimjeri: 1986, 2012
yBroj godine, 2 cifrePrimjeri: 86, 12
zRedni broj dana u godini (numeracija od 0)Od 0 do 365
ZPomak vremenske zone u sekundama. Za vremenske zone zapadno od UTC ovo je negativan broj, za vremenske zone istočno od UTC je pozitivan.-43200 do 43200

 Ako smatrate da je ova stranica korisna, možete je pomoći u razvoju postavljanjem

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

Prikaz datuma i vremena

U distribuiranim sistemima kao što je Internet, vrijeme igra posebnu ulogu. Zbog malog odstupanja u sistemskom satu, Forex igrač može izgubiti desetine hiljada dolara u roku od nekoliko minuta; sistem poslovne inteligencije će pogriješiti u pravljenju prognoze; NNTP serveri će izgubiti tokom sinhronizacije važne informacije, potreban korisniku itd.

PHP sadrži mnoge funkcije za rad sa datumom i vremenom. Najviše se koriste:

  • 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 ili trenutno (podrazumevano) vrijeme. Niz sadrži sljedeće elemente:

    Primjer 1

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

    REZULTAT PRIMJERA 1:

    Sekunde = 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.

  • datum()- formatiranje datuma i vremena. Argumenti: format string i apsolutno vrijeme. Drugi argument je neobavezan. Vraća string sa datim ili trenutnim datumom u navedenom formatu. Niz formata može sadržavati sljedeće kodove:
    a
    AOznaka "AM" ili "PM" uključena
    dDan u mjesecu (01-31)
    DSkraćeni naziv dana u sedmici (tri slova)
    FPuni naziv mjeseca
    gSat (12-satni format bez vodećih nula)
    GSat (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
    LIndikator prijestupne godine (0 ili 1)
    mMjesec (01-12)
    MSkraćeni naziv mjeseca (tri slova)
    nMjesec (1-12)
    sSekunde (00-59)
    tBroj dana u datom mjesecu (od 28 do 31)
    UApsolutno vrijeme
    w
    yGodina (dva ranga)
    YGodina (četiri ranga)
    zDan u godini (0-365)
    ZPomak vremenske zone u sekundama (-43200 do 43200)

    Sve druge informacije uključene u string formata biće umetnute u vraćeni niz. Ako trebate dodati znakove u niz formata koji su sami kodovi formata, onda im mora prethoditi obrnuta kosa crta "\". Znakovi koji postaju kodovi formata kada se dodaju obrnutom kosom crtom moraju prethoditi dvije kose crte naprijed. Na primjer, ako trebate dodati "n" nizu, morate unijeti "\\n" jer je "\n" znak novog reda.

    Primjer 2

    Korištenje datuma()

    REZULTAT PRIMJERA 2:

    Danas: 11/10/05 13:03

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

    Gledaj
    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 obrađuju ispravno;
    godina je cijeli broj od 1 do 32767.

    na primjer:

    If (!checkdate($month, 1, $year)) ( $d = getdate(); $month = $d; $year = $d; )

    Pažnja! Datum može biti unutar važećeg raspona, ali druge funkcije datuma neće prihvatiti vrijednost. Dakle, mktime() se ne bi trebao koristiti godinama prije 1902., a također bi se trebao koristiti s oprezom godinama prije 1970. godine.

  • strftime()- formiranje lokalnog datuma i vremena. Argumenti: string formata i apsolutno vrijeme. Drugi argument je neobavezan. Vraća string sa datim ili trenutnim datumom u navedenom formatu. U ovom slučaju, nazivi mjeseci i dana u sedmici se izdvajaju iz jezika odabranog pomoću funkcije. Niz formata 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/%y
    %eMjesec (1-12)
    %hIsto kao %b
    %HSat (24-satni format)
    %ISat (12-satni format)
    %jDan u godini (0-365)
    %mMjesec (1-12)
    %Mminuta
    %nZnak novog reda
    %p"am" ili "pm" notacija uključena
    %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 prve nedjelje u godini
    %VBroj sedmice prema ISO 8601:1988. Prva sedmica mora imati najmanje četiri dana, a prvim danom se smatra ponedjeljak
    %WBroj sedmice. Odbrojavanje počinje prvog ponedjeljka u godini
    %wBroj dana u sedmici (0 - nedjelja, 6 - subota)
    %xŽeljeni format datuma bez vremena
    %XŽeljeni format vremena bez datuma
    %yGodina (dva ranga)
    %YGodina (četiri ranga)
    %ZVremenska zona (naziv ili skraćenica)
    %% Simbol "%"

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

(PHP 4, PHP 5, PHP 7)

datum — Formatira izlaz sistemskog datuma/vremena

Opis

String datum (string $format [, int $timestamp = vrijeme() ])

Vraća string formatiran prema navedenom obrascu formata. vrijeme().

Koristi se vremenska oznaka specificirana argumentom vremenske oznake ili trenutno sistemsko vrijeme ako vremenska oznaka nije navedena.

Dakle, vremenska oznaka je opciona i podrazumevana je na vrednost koju vraća funkcija Lista parametara Obrazac niza rezultata ( string) sa datumom. Pogledajte opcije formatiranja u nastavku. Takođe postoji nekoliko unapred definisanih konstanti datuma/vremena koje se mogu koristiti umesto ovih parametara. na primjer:.

DATE_RSS
Znak u nizu formata Opis Primjer povratne vrijednosti
zamjenjuje šablon --- ---
d "D, d M Y H:i:s" U parametru formata prepoznaju se sljedeći znakovi 01 Dan 31
D Dan u mjesecu, 2 cifre sa početnom nulom od U parametru formata prepoznaju se sljedeći znakovi to Dan Predstavljanje teksta
j dani u sedmici, 3 znaka U parametru formata prepoznaju se sljedeći znakovi 1 Dan 31
l pon Puni naziv dana u sedmici U parametru formata prepoznaju se sljedeći znakovi Ned Dan Dan u mjesecu bez vodeće nule
(mala slova "L") Nedjelja U parametru formata prepoznaju se sljedeći znakovi 1 Subota 7 N
S Engleski sufiks za redni broj dana u mjesecu, 2 znaka Redni broj dana u sedmici u skladu sa standardom ISO-8601 (dodat u PHP 5.1.0), (ponedjeljak) do, (nedjelja) st nd rd j
w Redni broj dana u sedmici U parametru formata prepoznaju se sljedeći znakovi 0 ili 6 th
z . Koristi se u kombinaciji sa (nedjelja) do 0 Dan 365
(subota) --- ---
W Redni broj dana u godini (počevši od 0) Od 42 Sedmica
Redni broj sedmice u godini u skladu sa standardom ISO-8601; sedmice počinju u ponedjeljak (dodato u PHP 4.1.0) --- ---
F Puni naziv mjeseca, kao što je januar ili mart U parametru formata prepoznaju se sljedeći znakovi na primjer: Dan (42. sedmica u godini)
m Mjesec U parametru formata prepoznaju se sljedeći znakovi 01 Dan 12
M Skraćeni naziv mjeseca, 3 znaka U parametru formata prepoznaju se sljedeći znakovi januara Dan decembar
n Serijski broj mjeseca sa početnom nulom U parametru formata prepoznaju se sljedeći znakovi 1 Dan 12
t Jan U parametru formata prepoznaju se sljedeći znakovi 28 Dan 31
dec --- ---
L Znak prestupne godine 1 Serijski broj mjeseca bez vodeće nule 0 .
Broj dana u navedenom mjesecu Godina Y, ako je godina prijestupna, inače W o Broj godine prema ISO-8601 standardu. 1999 Ima isto značenje kao 2003
Y Serijski broj godine, 4 cifre Broj godine prema ISO-8601 standardu. 1999 , 2003
y Broj godine, 2 cifre Broj godine prema ISO-8601 standardu. 99 , 03
, osim kada je ISO broj sedmice ( --- ---
a ) pripada prethodnoj ili narednoj godini; tada će se koristiti godina te sedmice. (dodato u PHP 5.1.0) primjeri: Ima isto značenje kao ili
A Vrijeme Ante meridiem (engleski: "prije podne") ili Post meridiem (engleski: "poslije podne") malim slovima Ima isto značenje kao am
B pm U parametru formata prepoznaju se sljedeći znakovi 000 Dan 999
g Ante meridiem ili Post meridiem velikim slovima U parametru formata prepoznaju se sljedeći znakovi 1 Dan 12
G A.M. U parametru formata prepoznaju se sljedeći znakovi 0 Dan 23
h P.M. U parametru formata prepoznaju se sljedeći znakovi 01 Dan 12
H Vrijeme u internet formatu vremena (alternativni sistem za doba dana) U parametru formata prepoznaju se sljedeći znakovi 00 Dan 23
i Sat u 12-satnom formatu bez vodeće nule U parametru formata prepoznaju se sljedeći znakovi 00 Dan 59
s Sat u 24-satnom formatu bez vodeće nule U parametru formata prepoznaju se sljedeći znakovi 00 Dan 59
Sat u 12-satnom formatu sa početnom nulom Mikrosekunde (dodato u PHP 5.2.2). Imajte na umu da datum() uvek će se vraćati 000000 , jer prihvata cijeli broj ( cijeli broj) parametar, dok Datum i vrijeme::format() podržava mikrosekunde. Od 654321
Vremenska zona --- ---
e Kod skale vremenske zone (dodat u PHP 5.1.0) Broj godine prema ISO-8601 standardu. UTC, GMT, Atlantik/Azori
I(veliko i) Znak za ljetno računanje vremena 1 , ako datum odgovara ljetnom računanju vremena, 0 inače.
O Razlika od vremena u Griniču, u satima Od +0200
P GMT razlika sa dvotočkom između sati i minuta (dodato u PHP 5.1.3) Od +02:00
T Skraćenica vremenske zone Broj godine prema ISO-8601 standardu. EST, MDT ...
Z Pomak vremenske zone u sekundama. Za vremenske zone koje se nalaze zapadno od UTC vraćaju se negativni brojevi, a za one istočno od UTC vraćaju se pozitivni brojevi. U parametru formata prepoznaju se sljedeći znakovi -43200 Dan 50400
Pun datum/vrijeme --- ---
c Datum u ISO 8601 formatu (dodato u PHP 5) 2004-02-12T15:19:21+00:00
r Datum u » RFC 2822 formatu Od Thu, 21 Dec 2000 16:01:07 +0200
U Broj sekundi koji su prošli od početka Unix epohe (The Unix Epoch, 1. januar 1970. 00:00:00 GMT) Vidi također vrijeme()

Svi drugi znakovi koji se nađu u nizu uzorka bit će ispisani nepromijenjeni u nizu rezultata. Z uvek se vraća 0 prilikom upotrebe gmdate().

Komentar:

Budući da dotična funkcija uzima vremenske oznake poput cijeli broj, znak za formatiranje Sat u 12-satnom formatu sa početnom nulom bit će korisno samo kada koristite funkciju date_format() i prilagođene vremenske oznake kreirane pomoću funkcije date_create().

vremenska oznaka

Opcijski parametar vremenske oznake je cijeli broj vremenska oznaka, podrazumevano na trenutno lokalno vreme ako vremenska oznaka nije navedena. Drugim riječima, zadana vrijednost je jednaka rezultatu funkcije vrijeme().

Povratne vrijednosti

Vraća formatirani niz datuma. Prilikom prosljeđivanja nenumeričke vrijednosti kao parametra, bit će vraćena vremenska oznaka FALSE i nastaje greška nivoa E_UPOZORENJE.

Lista promjena

Verzija Opis
5.1.0 Važeći raspon datuma za vremenske oznake je obično od 13. decembra 1901. 20:45:54 GMT do 19. januara 2038. 03:14:07 GMT. (Odgovaraju minimalnoj i maksimalnoj vrijednosti 32-bitnog cijelog broja sa predznakom). Međutim, za PHP verzije ispod 5.1.0 u nekim operativni sistemi
5.1.0

(npr. Windows) ovaj raspon je bio ograničen na datume 01-01-1970 do 19-01-2038. Greške vezane za vremenske zone sada generiraju greške nivoa E_STRICT I.

5.1.1 E_NOTICE

Za standardne formate datuma/vremena postoje posebne konstante koje se mogu specificirati kao parametar formata.

Primjeri datum()

// postavlja zadanu vremensku zonu. Dostupno od PHP 5.1
date_default_timezone_set("UTC");

// će ispisati nešto ovako: ponedjeljak
echo date("l");

// će izbaciti nešto ovako: ponedeljak, 8. avgust 2005. 15:12:46
echo date ("l jS \of F Y h:i:s A" );

// će ispisati: 1. jul 2000. je u subotu
echo "1. jul 2000. je na " . datum("l", mktime(0, 0, 0, 7, 1, 2000));

/* primjer korištenja konstante kao parametra formatiranja */
// će ispisati nešto ovako: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// će ispisati nešto ovako: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Da biste spriječili da znak bude prepoznat kao znak za formatiranje, morate ga izbjeći pomoću obrnute kose crte. Ako je escape-znak također niz formata, onda ga treba ponovo izbaciti.

Primjer #2 Izlazni znakovi u funkciji datum()

// će ispisati nešto ovako: srijeda 15
echo date ("l \t\h\e jS" );
?>

Za prikaz prošlih i budućih datuma, zgodno je koristiti funkcije datum() I mktime().

Primjer #3 Primjer dijeljenje funkcije datum() I mktime()

$tomorrow = mktime (0 , 0 , 0 , datum ("m" ) , datum ("d" )+ 1, datum ("Y" ));
$lastmonth = mktime (0, 0, 0, datum ( "m") - 1, datum ( "d"), datum ( "Y"));
$nextyear = mktime (0 , 0 , 0 , datum ( "m" ), datum ( "d" ), datum ( "Y" )+ 1 );
?>

Komentar:

Ova metoda je pouzdanija od jednostavnog oduzimanja i dodavanja sekundi vremenskoj oznaci, jer omogućava fleksibilan prijelaz na ljetno/zimsko računanje vremena ako je potrebno.

Još nekoliko primjera korištenja funkcije datum(). Važno je napomenuti da biste trebali izbjegavati sve znakove koje želite ostaviti nepromijenjenim. To važi i za one likove koji jesu trenutna verzija PHP nije prepoznat kao formatiranje jer bi to moglo biti uvedeno u budućim verzijama.

Za izbjegavanje izlaznih sekvenci (kao što je \n), trebali biste koristiti jednostruke navodnike. datum()

Primjer #4 Formatiranje korištenjem
// Pretpostavimo da je trenutni datum 10. mart 2001, 17:16:18,

// i nalazimo se u vremenskoj zoni planinskog standardnog vremena (MST).
$danas = datum ("F j, Y, g:i a" ); // 10. mart 2001., 17:16
$danas = datum("m.d.y"); // 03.10.01
$danas = datum("j, n, Y"); // 10, 3, 2001
$danas = datum("Ymd"); // 20010310 $danas = datum ("h-i-s, j-m-y, w Day");
// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$danas = datum ("D M j G:i:s T Y" ); // Sub 10 Mar 17:16:18 MST 2001
$danas = datum ("H:m:s \m \i\s\ \m\o\n\t\h" ); // 17:03:18 m je mjesec
$danas = datum("H:i:s"); // 17:16:18
$danas = datum ("Y-m-d H:i:s" ); // 2001-03-10 17:16:18 (MySQL DATETIME format)
?>

Za formatiranje datuma na drugim jezicima, koristite umjesto toga datum() funkcije setlocale() E_STRICT strftime().

Bilješke

Komentar:

Da biste dobili vremensku oznaku iz niza prikaza datuma, možete koristiti funkciju strtotime(). Osim toga, neke baze podataka imaju svoje funkcije za pretvaranje internog prikaza datuma u vremensku oznaku (na primjer, funkcija MySQL » UNIX_TIMESTAMP).