227 of 410 menu

Klase DateInterval

Klase DateInterval ļauj strādāt ar laika intervāliem PHP. To izmanto, lai glabātu atšķirību starp diviem datumiem vai lai norādītu intervālu datumu apstrādes metodēs. Intervāls tiek izveidots īpašā formātā.

Sintakse

DateInterval::__construct(string $duration)

Intervāla formāts

Formāts sastāv no burta P (period) un elementiem:

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

Šajā formātā: Y - gadi, M - mēneši, D - dienas, T - laika atdalītājs, H - stundas, M - minūtes, S - sekundes, W - nedēļas.

Pirms šīm burtiem jāraksta atbilstošā vērtība. Piemēram, 3Y nozīmēs trīs gadus, bet 5Y2M apzīmēs 5 gadus un 2 mēnešus.

Pēc izveides objekts DateInterval saturēs šādas īpašības:

<?php $interval->y // gadi $interval->m // mēneši $interval->d // dienas $interval->h // stundas $interval->i // minūtes $interval->s // sekundes $interval->f // mikrosekundes $interval->invert // 1 ja intervāls ir negatīvs $interval->days // dienu skaits (ja izveidots caur diff()) ?>

Apskatīsim intervāla darbību ar piemēriem:

Piemērs

Izveidosim intervālu 1 stundu, 45 minūtes un 30 sekundes:

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim intervālu 3 nedēļas un 2 dienas:

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim intervālu 5 mēnešus, 10 dienas un 6 stundas:

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim intervālu 2 gadus un 15 minūtes:

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim intervālu 1 dienu, 12 stundas un 30 sekundes:

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim negatīvu intervālu 1 gadu un 3 mēnešus (intervāls atpakaļ):

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

Koda izpildes rezultāts:

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

Piemērs

Izveidosim negatīvu intervālu 2 stundas, 30 minūtes (intervāls atpakaļ):

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

Koda izpildes rezultāts:

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

Piemērs

Pievienosim intervālu pašreizējam datumam:

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

Koda izpildes rezultāts:

'2023-01-11'

Piemērs

Aprēķināsim atšķirību starp diviem datumiem:

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

Koda izpildes rezultāts:

'1 months 14 days'

Skatiet arī

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt