227 of 410 menu

DateInterval класы

DateInterval класы PHP-те уақыт аралықтарымен жұмыс істеуге мүмкіндік береді. Ол екі күн арасындағы айырмашылықты сақтау үшін немесе күндермен жұмыс әдістерінде аралықты көрсету үшін қолданылады. Аралық арнайы форматта жасалады.

Синтаксис

DateInterval::__construct(string $duration)

Аралық форматі

Формат P (period) әрпінен және элементтерінен тұрады:

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

Бұл форматта: Y - жылдар, M - айлар, D - күндер, T - уақыт бөлгіші, H - сағаттар, M - минуттар, S - секундтар, W - апталар.

Бұл әріптердің алдында сәйкес мән жазу керек. Мысалы, 3Y үш жылды білдіреді, ал 5Y2M 5 жыл және 2 айды білдіреді.

Жасалғаннан кейін DateInterval нысаны келесі қасиеттерді қамтиды:

<?php $interval->y // жылдар $interval->m // айлар $interval->d // күндер $interval->h // сағаттар $interval->i // минуттар $interval->s // секундтар $interval->f // микросекундтар $interval->invert // 1 егер аралық теріс болса $interval->days // күндер саны (егер diff() арқылы жасалған болса) ?>

Аралықтың жұмысын мысалдар арқылы қарастырайық:

Мысал

1 сағат, 45 минут және 30 секунд аралығын жасайық:

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

Кодты орындау нәтижесі:

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

Мысал

3 апта және 2 күн аралығын жасайық:

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

Кодты орындау нәтижесі:

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

Мысал

5 ай, 10 күн және 6 сағат аралығын жасайық:

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

Кодты орындау нәтижесі:

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

Мысал

2 жыл және 15 минут аралығын жасайық:

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

Кодты орындау нәтижесі:

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

Мысал

1 күн, 12 сағат және 30 секунд аралығын жасайық:

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

Кодты орындау нәтижесі:

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

Мысал

1 жыл және 3 ай теріс аралығын жасайық (артқа аралық):

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

Кодты орындау нәтижесі:

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

Мысал

2 сағат, 30 минут теріс аралығын жасайық (артқа аралық):

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

Кодты орындау нәтижесі:

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

Мысал

Аралықты ағымдағы күнге қосамыз:

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

Кодты орындау нәтижесі:

'2023-01-11'

Мысал

Екі күн арасындағы айырмашылықты есептейік:

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

Кодты орындау нәтижесі:

'1 months 14 days'

Сондай-ақ қараңыз

  • DateTime класы,
    күн мен уақытты білдіреді
  • DateTimeZone класы,
    уақыт белдеуін білдіреді
Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау