227 of 410 menu

Trieda DateInterval

Trieda DateInterval umožňuje pracovať s časovými intervalmi v PHP. Používa sa na uchovávanie rozdielu medzi dvoma dátumami alebo na nastavenie intervalu v metódach práce s dátumami. Interval sa vytvára v špeciálnom formáte.

Syntax

DateInterval::__construct(string $duration)

Formát intervalu

Formát pozostáva z písmena P (period) a prvkov:

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

V tomto formáte: Y - roky, M - mesiace, D - dni, T - oddeľovač času, H - hodiny, M - minúty, S - sekundy, W - týždne.

Pred týmito písmenami je potrebné písať príslušnú hodnotu. Napríklad, 3Y bude znamenať tri roky, a 5Y2M bude označovať 5 rokov a 2 mesiace.

Po vytvorení bude objekt DateInterval obsahovať nasledujúce vlastnosti:

<?php $interval->y // roky $interval->m // mesiace $interval->d // dni $interval->h // hodiny $interval->i // minúty $interval->s // sekundy $interval->f // mikrosekundy $interval->invert // 1 ak je interval záporný $interval->days // počet dní (ak vytvorené cez diff()) ?>

Pozrime sa na prácu intervalu na príkladoch:

Príklad

Vytvorme interval 1 hodina, 45 minút a 30 sekúnd:

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme interval 3 týždne a 2 dni:

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme interval 5 mesiacov, 10 dní a 6 hodín:

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme interval 2 roky a 15 minút:

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme interval 1 deň, 12 hodín a 30 sekúnd:

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme záporný interval 1 rok a 3 mesiace (interval späť):

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

Výsledok vykonania kódu:

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

Príklad

Vytvorme záporný interval 2 hodiny, 30 minút (interval späť):

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

Výsledok vykonania kódu:

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

Príklad

Pridajme interval k aktuálnemu dátumu:

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

Výsledok vykonania kódu:

'2023-01-11'

Príklad

Vypočítajme rozdiel medzi dvoma dátumami:

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

Výsledok vykonania kódu:

'1 months 14 days'

Pozrite tiež

  • trieda DateTime,
    ktorá reprezentuje dátum a čas
  • trieda DateTimeZone,
    ktorá reprezentuje časové pásmo
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť