227 of 410 menu

Klassen DateInterval

Klassen DateInterval giver mulighed for at arbejde med tidsintervaller i PHP. Den bruges til at gemme forskellen mellem to datoer eller til at angive et interval i metoder til arbejde med datoer. Intervallet oprettes i et specielt format.

Syntaks

DateInterval::__construct(string $duration)

Intervalformat

Formatet består af bogstavet P (period) og elementer:

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

I dette format: Y - år, M - måneder, D - dage, T - tidsseparator, H - timer, M - minutter, S - sekunder, W - uger.

Før disse bogstaver skal du skrive den tilsvarende værdi. For eksempel vil 3Y betyde tre år, og 5Y2M vil betyde 5 år og 2 måneder.

Efter oprettelse vil objektet DateInterval indeholde følgende egenskaber:

<?php $interval->y // år $interval->m // måneder $interval->d // dage $interval->h // timer $interval->i // minutter $interval->s // sekunder $interval->f // mikrosekunder $interval->invert // 1 hvis intervallet er negativt $interval->days // antal dage (hvis oprettet via diff()) ?>

Lad os se på intervallets funktion med eksempler:

Eksempel

Lad os oprette et interval på 1 time, 45 minutter og 30 sekunder:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et interval på 3 uger og 2 dage:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et interval på 5 måneder, 10 dage og 6 timer:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et interval på 2 år og 15 minutter:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et interval på 1 dag, 12 timer og 30 sekunder:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et negativt interval på 1 år og 3 måneder (interval tilbage):

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

Resultat af kodeudførelse:

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

Eksempel

Lad os oprette et negativt interval på 2 timer, 30 minutter (interval tilbage):

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

Resultat af kodeudførelse:

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

Eksempel

Lad os tilføje et interval til den aktuelle dato:

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

Resultat af kodeudførelse:

'2023-01-11'

Eksempel

Lad os beregne forskellen mellem to datoer:

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

Resultat af kodeudførelse:

'1 months 14 days'

Se også

  • klassen DateTime,
    som repræsenterer dato og tid
  • klassen DateTimeZone,
    som repræsenterer tidszone
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis