227 of 410 menu

Klassen DateInterval

Klassen DateInterval tillater arbeid med tidsperioder i PHP. Den brukes til å lagre forskjellen mellom to datoer eller for å angi en periode i metoder for datobehandling. Perioden opprettes i et spesialformat.

Syntaks

DateInterval::__construct(string $duration)

Periodens format

Formatet består av bokstaven P (period) og elementer:

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

I dette formatet: Y - år, M - måneder, D - dager, T - tidsseparator, H - timer, M - minutter, S - sekunder, W - uker.

Foran disse bokstavene må man skrive den tilsvarende verdien. For eksempel, 3Y vil bety tre år, og 5Y2M vil bety 5 år og 2 måneder.

Etter opprettelse vil objektet DateInterval inneholde følgende egenskaper:

<?php $interval->y // år $interval->m // måneder $interval->d // dager $interval->h // timer $interval->i // minutter $interval->s // sekunder $interval->f // mikrosekunder $interval->invert // 1 hvis perioden er negativ $interval->days // antall dager (hvis opprettet via diff()) ?>

La oss se på hvordan perioden fungerer med eksempler:

Eksempel

La oss opprette en periode på 1 time, 45 minutter og 30 sekunder:

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en periode på 3 uker og 2 dager:

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en periode på 5 måneder, 10 dager og 6 timer:

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en periode på 2 år og 15 minutter:

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en periode på 1 dag, 12 timer og 30 sekunder:

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en negativ periode på 1 år og 3 måneder (periode bakover):

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

Resultat av kjøring av koden:

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

Eksempel

La oss opprette en negativ periode på 2 timer, 30 minutter (periode bakover):

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

Resultat av kjøring av koden:

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

Eksempel

La oss legge til en periode til nåværende dato:

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

Resultat av kjøring av koden:

'2023-01-11'

Eksempel

La oss beregne forskjellen mellom 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 av kjøring av koden:

'1 months 14 days'

Se også

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis