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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել