227 of 410 menu

Klasse DateInterval

De klasse DateInterval maakt het mogelijk om met tijdsintervallen in PHP te werken. Het wordt gebruikt om het verschil tussen twee datums op te slaan of om een interval in te stellen in methoden voor het werken met datums. Het interval wordt gemaakt in een speciaal formaat.

Syntaxis

DateInterval::__construct(string $duration)

Intervalformaat

Het formaat bestaat uit de letter P (period) en elementen:

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

In dit formaat: Y - jaren, M - maanden, D - dagen, T - tijdsscheider, H - uren, M - minuten, S - seconden, W - weken.

Voor deze letters moet je de bijbehorende waarde schrijven. Bijvoorbeeld, 3Y betekent drie jaar, en 5Y2M betekent 5 jaar en 2 maanden.

Na het aanmaken bevat het object DateInterval de volgende eigenschappen:

<?php $interval->y // jaren $interval->m // maanden $interval->d // dagen $interval->h // uren $interval->i // minuten $interval->s // seconden $interval->f // microseconden $interval->invert // 1 als het interval negatief is $interval->days // aantal dagen (als gemaakt via diff()) ?>

Laten we de werking van het interval bekijken aan de hand van voorbeelden:

Voorbeeld

Laten we een interval maken van 1 uur, 45 minuten en 30 seconden:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een interval maken van 3 weken en 2 dagen:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een interval maken van 5 maanden, 10 dagen en 6 uur:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een interval maken van 2 jaar en 15 minuten:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een interval maken van 1 dag, 12 uur en 30 seconden:

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een negatief interval maken van 1 jaar en 3 maanden (interval achteruit):

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een negatief interval maken van 2 uur, 30 minuten (interval achteruit):

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

Resultaat van de code-uitvoering:

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

Voorbeeld

Laten we een interval toevoegen aan de huidige datum:

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

Resultaat van de code-uitvoering:

'2023-01-11'

Voorbeeld

Laten we het verschil tussen twee datums berekenen:

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

Resultaat van de code-uitvoering:

'1 maanden 14 dagen'

Zie ook

  • klas DateTime,
    die een datum en tijd vertegenwoordigt
  • klas DateTimeZone,
    die een tijdzone vertegenwoordigt
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren