227 of 410 menu

Clasa DateInterval

Clasa DateInterval permite lucrul cu intervale de timp în PHP. Este utilizată pentru a stoca diferența dintre două date sau pentru a specifica un interval în metodele de lucru cu date. Intervalul este creat într-un format special.

Sintaxă

DateInterval::__construct(string $duration)

Formatul intervalului

Formatul constă din litera P (period) și elemente:

P{y}Y{m}M{d}DT{h}H{m}M{s}S{w}W

În acest format: Y - ani, M - luni, D - zile, T - separator de timp, H - ore, M - minute, S - secunde, W - săptămâni.

Înaintea acestor litere trebuie să scrieți valoarea corespunzătoare. De exemplu, 3Y va însemna trei ani, iar 5Y2M va desemna 5 ani și 2 luni.

După creare, obiectul DateInterval va conține următoarele proprietăți:

<?php $interval->y // ani $interval->m // luni $interval->d // zile $interval->h // ore $interval->i // minute $interval->s // secunde $interval->f // microsecunde $interval->invert // 1 dacă intervalul este negativ $interval->days // numărul de zile (dacă este creat prin diff()) ?>

Să vedem funcționarea intervalului cu exemple:

Exemplu

Să creăm un interval de 1 oră, 45 minute și 30 secunde:

<?php $interval = new DateInterval('PT1H45M30S'); var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 0 'h' => 1 'i' => 45 's' => 30 )

Exemplu

Să creăm un interval de 3 săptămâni și 2 zile:

<?php $interval = new DateInterval('P3W2D'); var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 23 'h' => 0 'i' => 0 's' => 0 )

Exemplu

Să creăm un interval de 5 luni, 10 zile și 6 ore:

<?php $interval = new DateInterval('P5M10DT6H'); var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 0 'm' => 5 'd' => 10 'h' => 6 'i' => 0 's' => 0 )

Exemplu

Să creăm un interval de 2 ani și 15 minute:

<?php $interval = new DateInterval('P2YT15M'); var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 2 'm' => 0 'd' => 0 'h' => 0 'i' => 15 's' => 0 )

Exemplu

Să creăm un interval de 1 zi, 12 ore și 30 secunde:

<?php $interval = new DateInterval('P1DT12H30S'); var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 1 'h' => 12 'i' => 0 's' => 30 )

Exemplu

Să creăm un interval negativ de 1 an și 3 luni (interval înapoi):

<?php $interval = new DateInterval('P1Y3M'); $interval->invert = 1; var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 1 'm' => 3 'd' => 0 'h' => 0 'i' => 0 's' => 0 'invert' => 1 )

Exemplu

Să creăm un interval negativ de 2 ore, 30 minute (interval înapoi):

<?php $interval = new DateInterval('PT2H30M'); $interval->invert = 1; var_dump($interval); ?>

Rezultatul executării codului:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 0 'h' => 2 'i' => 30 's' => 0 'invert' => 1 )

Exemplu

Să adăugăm un interval la data curentă:

<?php $date = new DateTime('2023-01-01'); $interval = new DateInterval('P10D'); $date->add($interval); echo $date->format('Y-m-d'); ?>

Rezultatul executării codului:

'2023-01-11'

Exemplu

Să calculăm diferența dintre două date:

<?php $date1 = new DateTime('2023-01-01'); $date2 = new DateTime('2023-02-15'); $interval = $date1->diff($date2); echo $interval->format('%m luni %d zile'); ?>

Rezultatul executării codului:

'1 luni 14 zile'

Vezi și

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge