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: