PHP - Datum i vrijeme


Funkcija PHP Date()

PHP funkcija date() pretvara vremensku oznaku u čitljiviji datum i vrijeme. Računar pohranjuje datume i vremena u formatu nazvanom UNIX Timestamp, koji mjeri vrijeme kao broj sekundi od početka Unix epohe (ponoćno Greenwichsko vrijeme 1. januara 1970, tj. 1. januara 1970 00:00:00 GMT). Budući da je ovo nepraktičan format za čitanje od strane ljudi, PHP pretvara vremensku oznaku u format koji je čitljiv ljudima i datira iz vašeg zapisa u vremenskoj oznaci koju računar razumije. Sintaksa PHP funkcije date() može se napisati kao:

date(format, timestamp)

Parametar formata u funkciji date() potreban je, jer određuje format vraćenih datuma i vremena. Međutim, vremenska oznaka je opcijski parametar, ako nije uključen, tada će se koristiti trenutni datum i vrijeme. Sljedeća izjava prikazuje današnji datum:

<?php
$today = date("d/m/Y");
echo $today;
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Tačno vrijeme</title>
</head>
<body>

<?php
// Vrati trenutni datum s udaljenog servera
$today = date("d/m/Y");
echo $today;
?>

</body>
</html>


Formatiranje datuma i vremena pomoću PHP-a

Parametar formata funkcije date() zapravo je string koji može da sadrži više znakova što vam omogućava generisanje stringa datuma koji sadrži razne komponente datuma i vremena, poput dana u sedmici, prijepodneva ili posljepodneva, itd. Evo nekoliko znakova oblikovanja vezanih uz datum koji se obično koriste u string formata:

  • d - predstavlja dan u mjesecu; dvije znamenke s vodećim nulama (01 ili 31)
  • D - predstavlja dan u sedmici u tekstu kao skraćenicu (od ponedjeljka do nedelje)
  • m - predstavljaju mjesec u brojevima s vodećim nulama (01 ili 12)
  • M - Predstavlja mjesec u tekstu, skraćeno (od januara do decembra)
  • y - predstavlja dvoznamenkastu godinu (08 ili 14)
  • Y - predstavlja četveroznamenkastu godinu (2008. ili 2014.)

Dijelovi datuma mogu se odvojiti ubacivanje drugih znakova, poput crtice (-), tačke (.), kose crte (/) ili razmaka za dodavanje dodatnog vizuelnog oblikovanja.

<?php
echo date("d/m/Y") . "<br>";
echo date("d-m-Y") . "<br>";
echo date("d.m.Y");
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Formatiranje datuma</title>
</head>
<body>

<?php
// Vrati trenutni datum s udaljenog servera
echo date("d/m/Y") . "<br>";
echo date("d-m-Y") . "<br>";
echo date("d.m.Y");
?>

</body>
</html>

Slično tome, za formatiranje vremenskog stringa možete koristiti sljedeće znakove:

  • h - Predstavlja sat u 12-satnom formatu sa vodećim nulama (01 do 12)
  • H - Predstavlja sat u 24-satnom formatu sa vodećim nulama (00 do 23)
  • i - Predstavlja minute s vodećim nulama (00 do 59)
  • s - Predstavlja sekunde s vodećim nulama (00 do 59)
  • a - Predstavljajte mali ante meridiem i post meridiem (am ili pm)
  • A - Predstavljajte veliki meridiem Ante i Post meridiem (AM ili PM)

PHP kod u sljedećem primjeru prikazuje datum u različitim formatima:

<?php
echo date("h:i:s") . "<br>";
echo date("F d, Y h:i:s A") . "<br>";
echo date("h:i a");
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Formatiranje datuma</title>
</head>
<body>

<?php
// Vrati trenutni datum i vrijeme s udaljenog servera
echo date("h:i:s") . "<br>";
echo date("F d, Y h:i:s A") . "<br>";
echo date("h:i a");
?>

</body>
</html>


PHP Funkcija time()

Funkcija time() koristi se za dobijanje trenutnog vremena Unixa (broj sekundi od početka Unix epohe:1. januara 1970. 00:00:00 GMT).

<?php
// Izvršeno u Martu 05, 2014 07:19:18
$timestamp = time();
echo($timestamp);
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Vremenska oznaka</title>
</head>
<body>

<?php
/* Vrati trenutni datum i vrijeme
s udaljenog poslužitelja kao vremensku oznaku
*/
$timestamp = time();
echo($timestamp);
?>

</body>
</html>

Gornji primjer daje sljedeći izlaz.


1394003958


Ovu vremensku oznaku možemo pretvoriti u čitljiv datum čovjeku, tako što ćemo je prenijeti na prethodno uvedenu funkciju date().

<?php
$timestamp = 1394003958;
echo(date("F d, Y h:i:s", $timestamp));
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Pretvorite vremensku oznaku u čitljiv format</title>
</head>
<body>

<?php
/* Vrati trenutni datum i vrijeme
s udaljenog poslužitelja kao vremensku oznaku
*/
$timestamp = time();
echo($timestamp);
echo "<br>";

// Pretvaranje vremenske oznake u format čitljiv za ljude
echo(date("F d, Y h:i:s", $timestamp));
?>

</body>
</html>


PHP Funkcija mktime()

Funkcija mktime() koristi se za stvaranje vremenske oznake na temelju određenog datuma i vremena. Ako nisu navedeni datum i vrijeme, vraća se vremenska oznaka za trenutni datum i vrijeme. Sintaksa mktime() funkcije može se napisati kao:

mktime(hour, minute, second, month, day, year)

Sljedeći primjer prikazuje vremensku oznaku koja odgovara 10:20:12 pm 10. maja 2014:

<?php
// Stvorite vremensku oznaku za određeni datum
echo mktime(15, 20, 12, 5, 10, 2014);
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Kreiranje vremenske oznake</title>
</head>
<body>

<?php
// Stvorite vremensku oznaku za određeni datum
echo mktime(15, 20, 12, 5, 10, 2014);
?>

</body>
</html>

Funkcija mktime() može se koristiti za pronalaženje naziva radnog dana koji odgovara određenom datumu. Da biste to učinili, jednostavno upotrijebite znak 'l' (malo 'L') sa vremenskom oznakom, kao u sljedećem primjeru, koji prikazuje dan koji pada na 1. april 2014 .:

<?php
// Unesite naziv radnog dana određenog datuma
echo date('l', mktime(0, 0, 0, 4, 1, 2014));
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Kriranje imena radnog dana</title>
</head>
<body>

<?php
// Unesite naziv radnog dana određenog datuma
echo date('l', mktime(0, 0, 0, 4, 1, 2014));
?>

</body>
</html>

Funkcija mktime() se takođe može koristiti za pronalaženje određenog datuma u budućnosti nakon određenog vremenskog perioda. Kao u sljedećem primjeru, koji prikazuje datum koji pada nakon 30 mjeseci od trenutnog datuma.

<?php
// Izvršeno u 05-om Martu, 2014 godine
$futureDate = mktime(0, 0, 0, date("m")+30, date("d"), date("Y"));
echo date("d/m/Y", $futureDate);
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Nabavite budući datum</title>
</head>
<body>

<?php
// Vrati budući datum
$futureDate = mktime(0,0,0,date("m")+30,date("d"),date("Y"));
echo date("d/m/Y", $futureDate);
?>

</body>
</html>