227 of 410 menu

Klasa DateInterval

Klasa DateInterval lejon punën me intervale kohore në PHP. Ajo përdoret për të ruajtur ndryshimin midis dy datave ose për të caktuar një interval në metodat e punës me data. Intervali krijohet në një format të veçantë.

Sintaksa

DateInterval::__construct(string $duration)

Formati i intervalit

Formati përbëhet nga shkronja P (period) dhe elementët:

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

Në këtë format: Y - vitet, M - muajt, D - ditët, T - ndarësi i kohës, H - orët, M - minutat, S - sekondat, W - javët.

Para këtyre shkronjave duhet shkruar vlera përkatëse. Për shembull, 3Y do të thotë tre vjet, ndërsa 5Y2M do të thotë 5 vjet dhe 2 muaj.

Pas krijimit, objekti DateInterval do të përmbajë karakteristikat e mëposhtme:

<?php $interval->y // vitet $interval->m // muajt $interval->d // ditët $interval->h // orët $interval->i // minutat $interval->s // sekondat $interval->f // mikrosekondat $interval->invert // 1 nëse intervali është negativ $interval->days // numri i ditëve (nëse është krijuar përmes diff()) ?>

Le të shohim funksionimin e intervalit në shembuj:

Shembull

Le të krijojmë një interval prej 1 ore, 45 minutash dhe 30 sekondash:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval prej 3 javësh dhe 2 ditësh:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval prej 5 muajsh, 10 ditësh dhe 6 orësh:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval prej 2 vjetësh dhe 15 minutash:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval prej 1 dite, 12 orësh dhe 30 sekondash:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval negativ prej 1 viti dhe 3 muajsh (interval prapa):

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të krijojmë një interval negativ prej 2 orësh, 30 minutash (interval prapa):

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le të shtojmë një interval në datën aktuale:

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

Rezultati i ekzekutimit të kodit:

'2023-01-11'

Shembull

Le të llogarisim ndryshimin midis dy datave:

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

Rezultati i ekzekutimit të kodit:

'1 months 14 days'

Shihni gjithashtu

  • klasën DateTime,
    e cila përfaqëson datën dhe kohën
  • klasën DateTimeZone,
    e cila përfaqëson zonën kohore
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo