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 // кунлар сони (agar 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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш