Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
227 of 410 menu
◀ ▶

Klasė DateInterval

Klasė DateInterval leidžia dirbti su laiko intervalais PHP. Ji naudojama skirtumui tarp dviejų datų saugoti arba intervalui nustatyti datų darbo metoduose. Intervalas kuriamas specialiame formate.

Sintaksė

DateInterval::__construct(string $duration)

Intervalo formatas

Formatas susideda iš raidės P (period) ir elementų:

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

Šiame formate: Y - metai, M - mėnesiai, D - dienos, T - laiko skiriklis, H - valandos, M - minutės, S - sekundės, W - savaitės.

Prieš šias raides reikia rašyti atitinkamą reikšmę. Pavyzdžiui, 3Y reikš tris metus, o 5Y2M reikš 5 metus ir 2 mėnesius.

Sukūrus objektas DateInterval turės šias savybes:

<?php $interval->y // metai $interval->m // mėnesiai $interval->d // dienos $interval->h // valandos $interval->i // minutės $interval->s // sekundės $interval->f // mikrosekundės $interval->invert // 1 jei intervalas neigiamas $interval->days // dienų skaičius (jei sukurta per diff()) ?>

Pažiūrėkime intervalo veikimą pavyzdžiuose:

Pavyzdys

Sukurkime intervalą 1 valandai, 45 minutėms ir 30 sekundžių:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime intervalą 3 savaitėms ir 2 dienoms:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime intervalą 5 mėnesiams, 10 dienų ir 6 valandoms:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime intervalą 2 metams ir 15 minučių:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime intervalą 1 dienai, 12 valandų ir 30 sekundžių:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime neigiamą intervalą 1 metams ir 3 mėnesiams (intervalas atgal):

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Sukurkime neigiamą intervalą 2 valandoms, 30 minučių (intervalas atgal):

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Pridėkime intervalą prie dabartinės datos:

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

Kodo vykdymo rezultatas:

'2023-01-11'

Pavyzdys

Apskaičiuokime skirtumą tarp dviejų datų:

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

Kodo vykdymo rezultatas:

'1 months 14 days'

Taip pat žiūrėkite

  • klasė DateTime,
    kuri reprezentuoja datą ir laiką
  • klasė DateTimeZone,
    kuri reprezentuoja laiko zoną
← →
↑
Lietuvių▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti