227 of 410 menu

Klass DateInterval

Klass DateInterval võimaldab töötada ajavahemikega PHP-s. Seda kasutatakse kahe kuupäeva vahe salvestamiseks või ajavahemiku määramiseks kuupäevade töötlemise meetodites. Ajavahemik luuakse spetsiaalses vormingus.

Süntaks

DateInterval::__construct(string $duration)

Ajavahemiku vorming

Vorming koosneb tähest P (period) ja elementidest:

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

Selles vormingus: Y - aastad, M - kuud, D - päevad, T - aja eraldaja, H - tunnid, M - minutid, S - sekundid, W - nädalad.

Enne neid tähti tuleb kirjutada vastav väärtus. Näiteks 3Y tähendab kolme aastat ja 5Y2M tähistab 5 aastat ja 2 kuud.

Pärast loomist sisaldab objekt DateInterval järgmisi omadusi:

<?php $interval->y // aastad $interval->m // kuud $interval->d // päevad $interval->h // tunnid $interval->i // minutid $interval->s // sekundid $interval->f // mikrosekundid $interval->invert // 1 kui ajavahemik on negatiivne $interval->days // päevade arv (kui loodud diff()-ga) ?>

Vaatame ajavahemiku tööd näidete varal:

Näide

Loome ajavahemiku 1 tund, 45 minutit ja 30 sekundit:

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

Koodi täitmise tulemus:

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

Näide

Loome ajavahemiku 3 nädalat ja 2 päeva:

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

Koodi täitmise tulemus:

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

Näide

Loome ajavahemiku 5 kuud, 10 päeva ja 6 tundi:

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

Koodi täitmise tulemus:

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

Näide

Loome ajavahemiku 2 aastat ja 15 minutit:

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

Koodi täitmise tulemus:

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

Näide

Loome ajavahemiku 1 päev, 12 tundi ja 30 sekundit:

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

Koodi täitmise tulemus:

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

Näide

Loome negatiivse ajavahemiku 1 aasta ja 3 kuu (tagurpidi ajavahemik):

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

Koodi täitmise tulemus:

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

Näide

Loome negatiivse ajavahemiku 2 tundi, 30 minutit (tagurpidi ajavahemik):

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

Koodi täitmise tulemus:

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

Näide

Lisame ajavahemiku praegusele kuupäevale:

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

Koodi täitmise tulemus:

'2023-01-11'

Näide

Arvutame kahe kuupäeva vahe:

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

Koodi täitmise tulemus:

'1 kuud 14 päeva'

Vaata ka

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu