PHP funkcija datuma() i vremena: Kako dobiti trenutnu vremensku oznaku?

โšก Pametni saลพetak

PHP funkcija date() formatira vremenske oznake u datume i vremena ฤitljive ljudima. Ovaj vodiฤ objaลกnjava sintaksu datuma, vremensku oznaku Unixa, kako navesti i postaviti vremenske zone, funkciju mktime za izradu vremenskih oznaka i potpuni pregled znakova za format vremena, dana, mjeseca i godine.

  • ๐Ÿ“… ล to date() radi: Funkcija datuma pretvara vremensku oznaku u formatirani niz znakova kao ลกto su Y, m i d za godinu, mjesec i dan.
  • ๐Ÿ‡ง๐Ÿ‡ท Unix vremenska oznaka: Vremenska oznaka je broj sekundi od 1. sijeฤnja 1970. GMT, a time() vraฤ‡a trenutnu vrijednost.
  • ๐ŸŒ Vremenske zone: date_default_timezone_set mijenja aktivnu vremensku zonu, a DateTimeZone::listIdentifiers navodi sve podrลพane zone.
  • ๐Ÿ”ง vrijeme rada: Funkcija mktime gradi vremensku oznaku iz odreฤ‘enog sata, minute, sekunde, mjeseca, dana i godine.
  • ๐Ÿ”ค Format znakova: Pojedinaฤna slova kontroliraju izlaz, na primjer H za 24-satno vrijeme, l za naziv dana u tjednu i F za naziv mjeseca.
  • ๐Ÿ“ Referentne tablice: Grupirane tablice navode znakove formata vremena, dana, mjeseca i godine s primjerom koji se moลพe pokrenuti za svaki od njih.
  • ๐Ÿค– AI pomoฤ‡: Alati umjetne inteligencije mogu generirati formatiranje datuma i kod razlika te pomoฤ‡i u rjeลกavanju zbunjujuฤ‡ih greลกaka vremenskih zona.

PHP date() funkcija

PHP date() funkcija

PHP funkcija date je ugraฤ‘ena funkcija koja pojednostavljuje rad s tipovima podataka datuma. PHP funkcija date koristi se za formatiranje datuma ili vremena u format koji ljudi mogu ฤitati. Moลพe se koristiti za prikaz datuma objave ฤlanka ili zabiljeลพiti kada su podaci u bazi podataka zadnji put aลพurirani.

PHP sintaksa datuma i primjer

PHP date() ima sljedeฤ‡u osnovnu sintaksu.

<?php
date(format,[timestamp]);
?>

OVDJE,

  • โ€ždate(โ€ฆ)โ€ je funkcija koja vraฤ‡a trenutnu vremensku oznaku formatiranu u PHP na posluลพitelju.
  • โ€žformatโ€œ je opฤ‡i format u kojem ลพelimo da bude naลก izlaz, na primjer:
    • โ€žYmdโ€œ za PHP format datuma GGGG-MM-DD
    • โ€œYโ€ za prikaz tekuฤ‡e godine
  • โ€ž[vremenska oznaka]โ€ je opcionalno. Ako vremenska oznaka nije navedena, PHP ฤ‡e koristiti trenutni datum i vrijeme na posluลพitelju.

Pogledajmo osnovni primjer koji prikazuje tekuฤ‡u godinu.

<?php

echo date("Y");

?>

Izlaz:

2026

ล to je TimeStamp?

Vremenska oznaka u PHP-u je numeriฤka vrijednost u sekundama izmeฤ‘u trenutnog vremena i vrijednosti u 1.st Sijeฤanj 1970. 00:00:00 Greenwichsko srednje vrijeme (GMT).

Vrijednost koju vraฤ‡a vremenska funkcija ovisi o zadanoj vremenskoj zoni.

Zadana vremenska zona postavljena je u datoteci php.ini. Moลพe se postaviti i programski pomoฤ‡u funkcije date_default_timezone_set.

Donji kod prikazuje trenutnu vremensku oznaku.

<?php

echo time();

?>

Pod pretpostavkom da ste datoteku timestamp.php spremili u mapu phptuts, idite do URL http://localhost/phptuts/timestamp.php

TimeStamp

Napomena: vrijednost vremenske oznake nije konstanta. Mijenja se svake sekunde.

Dobivanje popisa dostupnih identifikatora vremenske zone

Prije nego ลกto pogledamo kako programski postaviti zadanu vremensku zonu, pogledajmo kako dobiti popis podrลพanih vremenskih zona.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

OVDJE,

  • โ€ž$timezone_identifiers = DateTimeZone::listIdentifiers();โ€œ poziva statiฤku metodu listIdentifiers ugraฤ‘ene klase DateTimeZone. Metoda listIdentifiers vraฤ‡a popis identifikatora koji su dodijeljeni varijabli $timezone_identifiers.
  • โ€žforeach{โ€ฆ}โ€œ iterira kroz niz i ispisuje vrijednosti.

Pod pretpostavkom da ste datoteku list_time_zones.php spremili u mapu phptuts, idite do URL http://localhost/phptuts/list_time_zones.php

Identifikatori vremenske zone

PHP postavlja vremensku zonu programski

Funkcija date_default_timezone_set omoguฤ‡uje vam postavljanje zadane vremenske zone iz PHP skripte.

Postavljena vremenska zona ฤ‡e se tada koristiti za sve datume PHP funkcije u vaลกim skriptama. Ima sljedeฤ‡u sintaksu.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

OVDJE,

  • โ€œdate_default_timezone_set()โ€ je funkcija koja postavlja zadanu vremensku zonu
  • โ€œstring $timezone_identifierโ€ je identifikator vremenske zone

Skripta u nastavku prikazuje vrijeme prema zadanoj vremenskoj zoni postavljenoj u php.ini. Zatim mijenja zadanu vremensku zonu u Azija/Kalkuta i ponovno prikazuje vrijeme.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Pod pretpostavkom da ste spremili datoteku set_time_zone.php u mapu phptuts, idite do URL http://localhost/phptuts/set_time_zone.php

PHP postavlja vremensku zonu programski

PHP Mktime funkcija

Funkcija mktime vraฤ‡a vremensku oznaku u a Unix formatu.

Ima sljedeฤ‡u sintaksu.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

OVDJE,

  • โ€œmktime(โ€ฆ)โ€ je funkcija izrade PHP vremenske oznake
  • โ€žSatโ€œ nije obavezan; to je broj sata
  • โ€žMinutaโ€œ nije obavezna; to je broj minuta
  • โ€žSekundaโ€œ nije obavezna; to je broj sekundi
  • โ€žMjesecโ€œ nije obavezan; to je broj mjeseca
  • โ€žDanโ€œ nije obavezan; to je broj dana
  • โ€žGodinaโ€œ nije obavezna; to je broj godine
  • โ€žis_dstโ€œ je opcionalno; koristi se za odreฤ‘ivanje ljetnog raฤunanja vremena (DST). 1 je za DST, 0 ako nije, a -1 ako je nepoznato.

Pogledajmo sada primjer koji stvara vremensku oznaku za datum 13.10.2025. pomoฤ‡u funkcije mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

OVDJE,

  • โ€ž0,0,0โ€œ oznaฤava sat, minutu i sekundu.
  • โ€œ10โ€ je mjesec u godini
  • โ€œ13โ€ je dan u mjesecu
  • "2025" je godina

Izlaz:

1760328000

Referenca za format datuma u PHP-u

Donje tablice prikazuju uobiฤajene znakove formata koji se koriste pri radu s PHP funkcijama datuma.

Vremenski parametri

Parametar Description Primjer
"R" Vraฤ‡a puni datum i vrijeme
<?php
echo date("r");
?>
โ€žaโ€œ, โ€žAโ€œ Vraฤ‡a je li trenutno vrijeme ujutro ili poslijepodne, prije podne ili popodne
<?php
echo date("a");
echo date("A");
?>
โ€žgโ€œ, โ€žGโ€œ Vraฤ‡a sat bez vodeฤ‡ih nula [1 do 12], odnosno [0 do 23].
<?php
echo date("g");
echo date("G");
?>
โ€žhโ€œ, โ€žHโ€œ Vraฤ‡a sat s vodeฤ‡im nulama [01 do 12], [00 do 23] respektivno
<?php
echo date("h");
echo date("H");
?>
"i", "s" Vraฤ‡a minute/sekunde s vodeฤ‡im nulama [00 do 59]
<?php
echo date("i");
echo date("s");
?>

Dnevni parametri

Parametar Description Primjer
"D" Vraฤ‡a dan u mjesecu s vodeฤ‡im nulama [01 do 31]
<?php
echo date("d");
?>
"j" Vraฤ‡a dan u mjesecu bez vodeฤ‡ih nula [1 do 31]
<?php
echo date("j");
?>
"D" Vraฤ‡a prva 3 slova naziva dana [od nedjelje do subote]
<?php
echo date("D");
?>
"L" Vraฤ‡a naziv dana u tjednu [od nedjelje do subote]
<?php
echo date("l");
?>
"w" Vraฤ‡a dan u tjednu bez vodeฤ‡ih nula [0 do 6]; nedjelja je predstavljena s nulom (0) do subote predstavljene sa ลกest (6)
<?php
echo date("w");
?>
"S" Vraฤ‡a dan u godini bez razmaka na poฤetku [0 do 365]
<?php
echo date("z");
?>

Parametri mjeseca

Parametar Description Primjer
"M" Vraฤ‡a broj mjeseca s vodeฤ‡im nulama [01 do 12]
<?php
echo date("m");
?>
"N" Vraฤ‡a broj mjeseca bez vodeฤ‡ih nula [1 do 12]
<?php
echo date("n");
?>
โ€žMโ€ Vraฤ‡a prva 3 slova naziva mjeseca [od sijeฤnja do prosinca]
<?php
echo date("M");
?>
"F" Vraฤ‡a naziv mjeseca [od sijeฤnja do prosinca]
<?php
echo date("F");
?>
"T" Vraฤ‡a broj dana u mjesecu [28 do 31]
<?php
echo date("t");
?>

Parametri godine

Parametar Description Primjer
"L" Vraฤ‡a 1 ako je prijestupna godina i 0 ako nije prijestupna godina
<?php
echo date("L");
?>
"Y" Vraฤ‡a godinu u ฤetveroznamenkastom formatu
<?php
echo date("Y");
?>
"Y" Vraฤ‡a dvoznamenkasti format godine (od 00 do 99)
<?php
echo date("y");
?>

Pitanja i odgovori

date() je jednostavna proceduralna funkcija koja formatira vremensku oznaku. Klasa DateTime je objektno orijentirana i podrลพava aritmetiku, usporedbu, vremenske zone i nepromjenjivost, ลกto je ฤini boljom za sloลพenu logiku datuma u veฤ‡im aplikacijama.

Koristite strtotime(), koja ฤita formate poput '2025-10-13' ili 'next Monday' i vraฤ‡a Unix vremensku oznaku. Za strogo parsiranje poznatog formata, DateTime::createFromFormat je sigurniji jer oฤito ne uspijeva pri nevaลพeฤ‡em unosu.

Napravite dva objekta DateTime i pozovite diff(), koji vraฤ‡a DateInterval. Zatim moลพete proฤitati dane, mjesece ili godine, na primjer $start->diff($end)->days da biste dobili ukupan broj dana izmeฤ‘u datuma.

Da. Opiลกite ulazni i izlazni format, a umjetna inteligencija moลพe generirati kod za date(), DateTime ili strtotime, ukljuฤujuฤ‡i dodavanje intervala ili pretvaranje vremenskih zona. Testirajte ga s rubnim sluฤajevima poput prijestupnih godina i krajeva mjeseca.

Da. Umjetna inteligencija moลพe uoฤiti nedostajuฤ‡i poziv date_default_timezone_set, neusklaฤ‘enost vremenske zone posluลพitelja i prikaza ili probleme s ljetnim raฤunanjem vremena, a zatim preporuฤiti koriลกtenje DateTime s eksplicitnim vremenskim zonama kako bi ponaลกanje bilo predvidljivo.

Saลพmite ovu objavu uz: