227 of 410 menu

Razred DateInterval

Razred DateInterval omogoča delo s časovnimi intervali v PHP. Uporablja se za shranjevanje razlike med dvema datumoma ali za določanje intervala v metodah za delo z datumi. Interval se ustvari v posebnem formatu.

Sintaksa

DateInterval::__construct(string $duration)

Format intervala

Format je sestavljen iz črke P (period) in elementov:

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

V tem formatu: Y - leta, M - meseci, D - dnevi, T - ločilo časa, H - ure, M - minute, S - sekunde, W - tedni.

Pred temi črkami je treba napisati ustrezno vrednost. Na primer, 3Y bo pomenilo tri leta, 5Y2M pa bo označeval 5 let in 2 meseca.

Po ustvarjanju bo objekt DateInterval vseboval naslednje lastnosti:

<?php $interval->y // leta $interval->m // meseci $interval->d // dnevi $interval->h // ure $interval->i // minute $interval->s // sekunde $interval->f // mikrosekunde $interval->invert // 1 če je interval negativen $interval->days // število dni (če je ustvarjeno prek diff()) ?>

Poglejmo si delovanje intervala na primerih:

Primer

Ustvarimo interval v 1 uro, 45 minut in 30 sekund:

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo interval v 3 tedne in 2 dni:

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo interval v 5 mesecev, 10 dni in 6 ur:

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo interval v 2 leti in 15 minut:

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo interval v 1 dan, 12 ur in 30 sekund:

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo negativen interval v 1 leto in 3 mesece (interval nazaj):

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

Rezultat izvajanja kode:

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

Primer

Ustvarimo negativen interval v 2 uri, 30 minut (interval nazaj):

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

Rezultat izvajanja kode:

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

Primer

Dodajmo interval trenutnemu datumu:

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

Rezultat izvajanja kode:

'2023-01-11'

Primer

Izračunajmo razliko med dvema datumoma:

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

Rezultat izvajanja kode:

'1 months 14 days'

Glejte tudi

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni