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 ай %d күн'); ?>

Кодду иштетүүнүн натыйжасы:

'1 ай 14 күн'

Дагы караңыз

  • 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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу