Ora și data în PHP

SSL de încredere de la doar 3.44 USD
Publicitate
Iterabile în PHP
Introducere în MySQL/PHP

PHP are o serie de metode de lucru cu funcțiile de timp PHP, cum ar fi obținerea orei și datei curente, manipularea datelor și formatarea datelor pentru afișare.

  1. Obținerea orei și datei curente:
  • time() funcția returnează marcajul de timp curent, care este numărul de secunde de la 1 ianuarie 1970.
  • date() funcția poate fi utilizată pentru a formata data și ora curentă conform unui format specificat.
  • getdate() funcția returnează o matrice asociativă care conține informații despre data și ora curente.
  • microtime() funcția returnează marcajul de timp curent cu microsecunde.
  1. Manipularea datelor:
  • strtotime() funcția poate fi utilizată pentru a converti un șir de dată într-un marcaj de timp.
  • mktime() funcția poate fi utilizată pentru a crea un marcaj de timp pentru o anumită dată și oră.
  • date_create() și date_create_from_format() funcțiile pot fi folosite pentru a crea un nou obiect dată.
  • date_modify() funcția poate fi utilizată pentru a modifica un obiect dată.
  1. Formatarea datelor pentru afișare:
  • date() funcția poate fi utilizată pentru a formata un obiect marcaj de timp sau dată conform unui format specificat.
  • date_format() funcția poate fi utilizată pentru a formata un obiect dată în conformitate cu un format specificat.
  • strftime() funcția poate fi utilizată pentru a formata un obiect marcaj de timp sau dată în conformitate cu un format și o localitate specificate.
  1. Funcții fus orar:
  • date_default_timezone_set() funcția poate fi utilizată pentru a seta fusul orar implicit.
  • date_default_timezone_get() funcția poate fi utilizată pentru a obține fusul orar implicit.
  • date_timezone_set() funcția poate fi utilizată pentru a seta fusul orar pentru un obiect dată.
  • date_timezone_get() funcția poate fi utilizată pentru a obține fusul orar pentru un obiect dată.
  1. Funcții calendaristice:
  • cal_days_in_month() funcția poate fi utilizată pentru a obține numărul de zile dintr-o lună pentru un anumit an și calendar.
  • cal_from_jd() funcția poate fi folosită pentru a converti un număr de zile iuliane într-o dată calendaristică.
  • cal_info() funcția poate fi folosită pentru a obține informații despre un calendar.
  • easter_date() și easter_days() funcțiile pot fi folosite pentru a calcula data de Paște.

Este de remarcat faptul că, în timp ce lucrați cu funcții de dată și oră, este esențial să păstrați serverul și clientul. Zona de fus orar și setările pentru ora de vară (DST). Atunci când acești parametri sunt manipulați incorect, pot apărea greșeli și efecte neașteptate.

În rezumat, PHP are metode de achiziție curent ora și data, manipularea datelor, formatarea datelor pentru afișa, și gestionarea fusurilor orare și calendar funcții. Puteți crește acuratețea și funcționalitatea programelor dvs. PHP cunoscând aceste funcții.

  1. Obținerea orei și datei curente:
  • time() Funcția returnează marcajul de timp curent, care este numărul de secunde de la 1 ianuarie 1970. Marca de timp este un format utilizat pe scară largă pentru stocarea și compararea datelor și orelor în sistemele informatice. Este util pentru a urmări durata evenimentelor, a compara datele și orele și pentru a genera ID-uri unice.
$timestamp = time();
echo "Current timestamp: " . $timestamp . "<br>";

data() poate fi utilizată pentru a formata data și ora curentă într-un format personalizat. Șirul de format și marca temporală sunt singurii parametri acceptați de funcția de dată. Dacă nu este dat nicio marca temporală, se utilizează marca temporală curentă.

$current_date = date('Y-m-d H:i:s');
echo "Current date: " . $current_date . "<br>";

getdate() metoda produce un asociativ mulțime care conțin informații despre data și ora curentă. Este nevoie de un singur parametru, marca temporală, care este setată la marca temporală curentă dacă nu este specificat. Matricea returnată cuprinde date precum ziua săptămânii, luna și anul.

$date_array = getdate();
print_r($date_array);

Marca temporală curentă în microsecunde este returnată de microtimp() metoda. Este util pentru determinarea lungime de scripturi și funcții. Funcția returnează o valoare flotantă, inclusiv marcajul de timp și numărul de microsecunde.

$microtime = microtime();
echo "Current microtime: " . $microtime . "<br>";
  1. Manipularea datelor:
  • Pentru a converti un șir de dată într-un marcaj temporal, utilizați strtotime() metoda. Ca argument, funcția acceptă un șir în mai multe forme, cum ar fi „ieri”, „+1 săptămână”, „lunea viitoare” și așa mai departe. Această metodă poate fi folosită pentru transforma introducerea utilizatorului într-un marcaj temporal pentru procesare suplimentară sau comparare.
$date_string = 'next Monday';
$timestamp = strtotime($date_string);
echo "Timestamp for " . $date_string . ": " . $timestamp . "<br>";

Pentru a genera un marcaj de timp pentru o anumită zi și oră, utilizați mktime() metoda. Acceptă șase parametri, care indică anul, luna, ziua, ora, minutul și secunda. Acesta returnează marcajul de timp pentru data și ora furnizate.

$year = 2022;
$month = 11;
$day = 23;
$hour = 12;
$minute = 30;
$second = 0;
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
echo "Timestamp for " . date('Y-m-d H:i:s', $timestamp) . ": " . $timestamp . "<br>";

date_create() și date_create_from_format() funcțiile pot fi folosite pentru a crea un nou obiect dată.

Data ($ora, $formatul)

parametrii

Format  Setați formatul marcajului de timp în valoarea returnată. Această funcție acceptă toate formatele acceptate de DateTimeInterface::format().
Marcaj de timpSeteaza timestamp-ul în valoarea returnată. În mod implicit, returnează data și ora curente. Cu alte cuvinte, este implicit la valoarea funcției time().  

Pentru a defini formatul, trebuie să fii familiarizat cu caracterele care indică formatul potrivit.

dReprezintă ziua lunii (de la 01 la 31)
mReprezintă o lună (de la 01 la 12)
yReprezintă un an (în patru cifre)
l(„L”) – Reprezintă ziua săptămânii

În PHP 8.0, marca temporală este acum nulabilă.

Valoare returnată

SuccesReturnează un șir formatat așa cum este definit de parametrul format.  
Erori/ExcepțiiDacă fusul orar nu este valid, funcția de dată va returna E_WARNING.  

Pentru a afla despre fusurile orare valide, puteți accesa aceasta legătură.

Exemplu

Returnează data curentă în formatul specificat.

<?php
echo " Date is " . date("Y/m/d") . " ";
echo " Date is " . date("Y.m.d") . " ";
echo " Date is " . date("Y-m-d") . " ";
echo " Date is " . date("l");
?>

Cum să utilizați funcția de dată pentru a obține ora curentă în PHP

Treceți caracterele de timp în funcția de dată pentru a primi ora curentă în formatul specificat. Următoarele sunt cele mai esențiale și utile caractere de timp din PHP.

HFormat de 24 de ore al unei ore (de la 00 la 23)
hFormat de 12 ore al unei ore cu zerouri inițiale (de la 01 la 12)
iMinute cu zerouri la început (de la 00 la 59)
sSecunde cu zerouri la început (de la 00 la 59)
aAnte meridiem minuscule și Post meridiem (am sau pm)
Obțineți ora curentă într-un anumit format
<?php
echo "Curent time is " . date("H:i:s");
?>

Funcția de dată returnează ora clientului sau ora serverului?

Funcția de mai sus va producție ora curentă. Lucrul crucial de reținut aici este că funcția de dată returnează serverul data și ora curente ale aparatului. Majoritatea oamenilor sunt nedumeriți de ce această funcție nu returnează timpul clientului.

Cum se setează fusul orar al funcției de dată în PHP?

Dacă nu obțineți momentul potrivit folosind exemplul anterior, este posibil ca serverul dvs. să fi fost plasat în altul ţară iar fusurile orare ale locației dvs. actuale și ale locației serverului sunt diferite. În acest scenariu, puteți seta fusul orar al data funcția folosind fusul orar implicit al datei („Asia”); funcţie.

<?php
date_default_timezone_set("Asia");
echo "The server time in my zone is " . date("h:i:sa");
?>

Care este marcajul de timp UNIX?

Marca temporală Unix este numărul de secunde dintre 01 ianuarie-1970 și ora curentă specificată.

Cum se creează o dată în php

SSL de încredere de la doar 3.44 USD
Publicitate

Puteți să vă creați propria marca temporală sau dată în PHP utilizând funcția de timp. În această secțiune, veți afla despre mktime funcție în PHP 8.

mktime (oră, minut, secundă, lună, zi, an)

Parametrii funcției sunt clari prin numele lor. Iată un exemplu:

<?php
$date=mktime(7, 11, 34, 6, 09, 2021);
echo "My created date is " . date("Y-m-d h:i:s", $date);
?>

Cum se creează o dată dintr-un șir?

PHP are o funcție de dată foarte utilă numită strtotime(). Această funcție convertește un șir de dată care poate fi citit de om într-un marcaj temporal Unix. Dacă doriți să aflați despre ora Unix, îl puteți citi din secțiunea de mai sus.

strtotime (timp, acum)

<?php
$date=strtotime("11:00am August 14 2021");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

Șirul acceptat de către strtotime funcția trebuie să fie corectă și formatată valid, în caz contrar, nu veți obține cea corectă în rezultat. În continuare sunt câteva exemple legate de strtotime Funcția.

Un exemplu:

<?php
$date=strtotime("yesterday");
echo date("Y-m-d h:i:sa", $date);

$d=strtotime("next Friday");
echo date("Y-m-d h:i:sa", $date);

$d=strtotime("+4 Months");
echo date("Y-m-d h:i:sa", $date);
?>

Cum să obții diferența dintre două date în php?

data_diff() metodă scade două date valide și scoate diferența sub forma unui număr de zile.

<?php
date_diff(datetime1, datetime2, absolute)
?>

Primul și al doilea parametru sunt obiecte date care vor fi scăzute, iar al treilea parametru este un boolean. În mod implicit, este setat la false. Dacă este setată la adevărat, diferența va fi pozitivă.

Un exemplu:

<?php
$today=date_create("2021-09-05");
$old_date=date_create("2021-08-12");
$difference=date_diff($today,$old_date);
?>

Cum să adăugați zile, luni, ani sau ore, minute și secunde până acum în PHP?

Dacă sunteți un dezvoltator PHP, este posibil să fi avut o situație în care trebuia să adăugați o oră sau o dată într-un alt obiect dată. Pentru aceasta, PHP ne oferă data_add funcţie.

Data obiectSpecifică un obiect DateTime returnat de date_create()
IntervalSpecifică un obiect DateInterval
<?php
$date_to_be_added=date_create("2021-09-15");
date_add($date_to_be_added,date_interval_create_from_date_string("10 days"));
echo date_format($date,"Y-m-d");
?>

Q & A

Î: Care este funcția pentru a obține data și ora curente în PHP?
R: Funcția pentru a obține data și ora curentă în PHP este „date()”.

Î: Cum formatez data și ora folosind funcția „date()”?
R: Funcția „date()” preia un parametru necesar, care este un șir care conține coduri de format. Aceste coduri reprezintă diferite părți ale datei și orei, cum ar fi anul, luna, ziua, ora, minutul și secunda. De exemplu, pentru a afișa data și ora curente în formatul „Ymd H:i:s”, ați folosi următorul cod: echo date(„Ymd H:i:s”);

Î: Pot seta fusul orar când folosesc funcția „date()”?
R: Da, puteți seta fusul orar când utilizați funcția „date()” folosind funcția „date_default_timezone_set()”. De exemplu, pentru a seta fusul orar la Pacific Standard Time, veți folosi următorul cod: date_default_timezone_set('America/Los_Angeles');

Î: Există o modalitate de a calcula diferența dintre două date în PHP?
R: Da, puteți utiliza clasa „DateTime” pentru a calcula diferența dintre două date. De exemplu, pentru a calcula diferența dintre data și ora curentă și o dată și oră viitoare, ați folosi următorul cod: $current_date = new DateTime(); $dată_viitoare = new DateTime('2022-12-31'); $diff = $data_actuala->diff($data_viitoare); echo $diff->format('%R%a zile');

Î: Cum obțin marcajul temporal al unei anumite date și ore în PHP?
R: Puteți folosi funcția strtotime() pentru a obține marca temporală a unei anumite date și ore. De exemplu, pentru a obține marcajul de timp al datei „2022-12-31”, ați folosi următorul cod: $date = „2022-12-31”; $timestamp = strtotime($data);

Î: Cum convertesc marca temporală în formatul de dată și oră în PHP?
R: Puteți utiliza funcția date() pentru a converti marca temporală într-un format de dată și oră. De exemplu, pentru a converti marca temporală în formatul „Ymd H:i:s”, veți folosi următorul cod: $timestamp = 1609459200; $data = data('Ymd H:i:s', $timestamp);

Exerciții:

  1. Cum obțineți data și ora curentă?
  2. Cum formatați o dată și o oră?
  3. Cum calculezi diferența dintre două date?
  4. Cum transformi o marca temporală într-o dată și oră?
  5. Cum obțineți marca temporală a unei anumite date și ore?
  6. Cum obții numărul de zile dintr-o lună?
  7. Cum verifici dacă un an este un an bisect?
  8. Cum obțineți fusul orar actual?

Răspunsuri:

  1. Data și ora curente pot fi obținute folosind funcția date(). De exemplu: data(„Ymd H:i:s”);
  2. Data și ora pot fi formatate folosind funcția date() și specificând parametrul de format. De exemplu: data(“mdY H:i:s”, ora());
  3. Diferența dintre două date poate fi calculată folosind funcția strtotime() și scăzând marcajele de timp ale celor două date. De exemplu: $diff = strtotime(“2022-01-01”) – strtotime(“2021-01-01”);
  4. Un marcaj temporal poate fi convertit într-o dată și oră folosind funcția date() și specificând marcajul temporal ca al doilea parametru. De exemplu: data(„Ymd H:i:s”, 1609459200);
  5. O amprentă temporală a unei anumite date și ore poate fi obținută folosind funcția strtotime(). De exemplu: strtotime(“2022-01-01”);
  6. Numărul de zile dintr-o lună poate fi obținut folosind funcția cal_days_in_month(). De exemplu: cal_days_in_month(CAL_GREGORIAN, 2, 2022);
  7. Un an poate fi verificat dacă este un an bisect folosind funcția date() și specificând „L” ca parametru de format. De exemplu: data(„L”, strtotime(„2022-01-01”));
  8. Fusul orar actual poate fi obținut folosind funcția date_default_timezone_get().

Pentru a citi mai multe despre funcții de oră și dată în cea mai recentă versiune PHP 8, vă rugăm să consultați pagina oficială PHP 8.

Cum obțin data și ora curentă în PHP?
Obțineți data curentă dat un fus orar în PHP?
Convertiți marca temporală în timp în urmă în PHP?
Convertiți un format de dată în PHP
Cum folosesc PHP pentru a obține anul curent?
Determinați corect dacă șirul de date este o dată validă în formatul respectiv
Conversia marcajului de timp la data/ora care pot fi citite PHP
Conversia șirului în Date și DateTime

Iterabile în PHP
Introducere în MySQL/PHP
închide

Rămâneți la curent cu PHP!

Nu trimitem spam!

SSL de încredere de la doar 3.44 USD
Publicitate
en English
X
Derulaţi în sus