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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан