227 of 410 menu

Klass DateInterval

Klassen DateInterval möjliggör arbete med tidsintervall i PHP. Den används för att lagra skillnaden mellan två datum eller för att ange ett intervall i metoder för datumhantering. Intervallet skapas i ett speciellt format.

Syntax

DateInterval::__construct(string $duration)

Intervallformat

Formatet består av bokstaven P (period) och element:

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

I detta format: Y - år, M - månader, D - dagar, T - tidsavgränsare, H - timmar, M - minuter, S - sekunder, W - veckor.

Före dessa bokstäver måste motsvarande värde skrivas. Till exempel kommer 3Y att betyda tre år, och 5Y2M kommer att betyda 5 år och 2 månader.

Efter skapandet kommer objektet DateInterval innehålla följande egenskaper:

<?php $interval->y // år $interval->m // månader $interval->d // dagar $interval->h // timmar $interval->i // minuter $interval->s // sekunder $interval->f // mikrosekunder $interval->invert // 1 om intervallet är negativt $interval->days // antal dagar (om skapat via diff()) ?>

Låt oss titta på hur intervallet fungerar med exempel:

Exempel

Låt oss skapa ett intervall på 1 timme, 45 minuter och 30 sekunder:

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett intervall på 3 veckor och 2 dagar:

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett intervall på 5 månader, 10 dagar och 6 timmar:

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett intervall på 2 år och 15 minuter:

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett intervall på 1 dag, 12 timmar och 30 sekunder:

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett negativt intervall på 1 år och 3 månader (intervall bakåt):

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

Resultat av kodkörning:

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

Exempel

Låt oss skapa ett negativt intervall på 2 timmar, 30 minuter (intervall bakåt):

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

Resultat av kodkörning:

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

Exempel

Låt oss lägga till ett intervall till det aktuella datumet:

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

Resultat av kodkörning:

'2023-01-11'

Exempel

Låt oss beräkna skillnaden mellan två datum:

<?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 av kodkörning:

'1 months 14 days'

Se även

  • klassen DateTime,
    som representerar datum och tid
  • klassen DateTimeZone,
    som representerar en tidszon
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa