227 of 410 menu

DateInterval osztály

A DateInterval osztály lehetővé teszi időintervallumok kezelését PHP-ban. Két dátum közötti különbség tárolására vagy intervallum megadására szolgál dátumkezelő metódusokban. Az intervallum egy speciális formátumban jön létre.

Szintaxis

DateInterval::__construct(string $duration)

Az intervallum formátuma

A formátum a P (period) betűből és az alábbi elemekből áll:

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

Ebben a formátumban: Y - évek, M - hónapok, D - napok, T - idő elválasztó, H - órák, M - percek, S - másodpercek, W - hetek.

E betűk elé kell írni a megfelelő értéket. Például a 3Y három évet jelent, a 5Y2M pedig 5 évet és 2 hónapot.

Létrehozás után a DateInterval objektum a következő tulajdonságokat fogja tartalmazni:

<?php $interval->y // évek $interval->m // hónapok $interval->d // napok $interval->h // órák $interval->i // percek $interval->s // másodpercek $interval->f // mikroszekundumok $interval->invert // 1 ha az intervallum negatív $interval->days // napok száma (ha diff()-fel lett létrehozva) ?>

Nézzük meg az intervallum működését példákon:

Példa

Hozzunk létre egy intervallumot 1 óra, 45 perc és 30 másodperc:

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy intervallumot 3 hét és 2 nap:

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy intervallumot 5 hónap, 10 nap és 6 óra:

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy intervallumot 2 év és 15 perc:

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy intervallumot 1 nap, 12 óra és 30 másodperc:

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy negatív intervallumot 1 év és 3 hónap (intervallum visszafelé):

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

A kód végrehajtásának eredménye:

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

Példa

Hozzunk létre egy negatív intervallumot 2 óra, 30 perc (intervallum visszafelé):

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

A kód végrehajtásának eredménye:

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

Példa

Adjunk hozzá egy intervallumot a jelenlegi dátumhoz:

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

A kód végrehajtásának eredménye:

'2023-01-11'

Példa

Számítsuk ki két dátum közötti különbséget:

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

A kód végrehajtásának eredménye:

'1 hónap 14 nap'

Lásd még

  • a DateTime osztály,
    amely dátumot és időt reprezentál
  • a DateTimeZone osztály,
    amely időzónát reprezentál
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás