Како користити функцију дате_суб() у ПХП-у

Kako Koristiti Funkciju Date Sub U Php U



Тхе дате_суб() је функција од Датум време класе, која је део ПХП-овог проширења датума и времена. Користи се за одузимање одређеног интервала од датог датума. Може се користити за израчунавање будућег датума одузимањем једног или више дана, месеци или година од тренутног датума. Тхе дате_суб() функција враћа нову Датум време објекат који представља датум и време након извршеног обрачуна.

Основна синтакса

Синтакса за коришћење дате_суб() функција је дата у наставку:

дате_суб ( Датум време $објецт , ДатеИнтервал $интервал )

овде, $објецт је Датум време објекат од кога желите да одузмете интервал, и $интервал је ДатеИнтервал објекат који специфицира интервал који желите да одузмете. Имајте на уму да су оба аргумента потребна за коришћење дате_суб() функционишу исправно.







Рад са ДатеИнтервалом

Да бисте користили дате_суб() функцију, потребно је да креирате а ДатеИнтервал објекат који одређује количину времена коју желите да одузмете од оригиналног датума и времена. ДатеИнтервал објекти се могу креирати помоћу ДатеИнтервал конструктор. Конструктор узима параметар стринга који специфицира интервал у формату као што је П1Д (један дан), П1М (један месец), П1И (једна година) и П1ДТ1Х (један дан и један сат).



Примери

// Одузми један дан
$интервал = Нова ДатеИнтервал ( 'П1Д' ) ; // Одузми један месец
$интервал = Нова ДатеИнтервал ( 'П1М' ) ;

// Одузми једну годину
$интервал = Нова ДатеИнтервал ( 'П1И' ) ;

Како користити ПХП дате_суб() функцију

Једном када имате а ДатеИнтервал објекат, можете га комбиновати са а Датум време објекат за израчунавање новог датума и времена. Ево примера који одузима један дан од тренутног датума:





$датетиме = Нова Датум време ( ) ;

$интервал = Нова ДатеИнтервал ( 'П1Д' ) ;

дате_суб ( $датетиме , $интервал ) ;

одјек $датетиме -> формату ( 'И-м-д Х:и:с' ) ;

?>

Као што видите, нови датум и време је један дан раније од тренутног датума.





Такође је могуће одузети сате, минуте и секунде од ДатеТиме објекта користећи дате_суб() функција. Да бисте одузели сате, можете проследити интервал датума као ПТ1Х, што значи одузети један сат. На пример, размотрите следећи код:





$датетиме = Нова Датум време ( '2023-05-16 14:43:00' ) ;

дате_суб ( $датетиме , Нова ДатеИнтервал ( 'ПТ1Х' ) ) ;

одјек $датетиме -> формату ( 'И-м-д Х:и:с' ) ;

?>

Ово одузима један сат од објекта ДатеТиме и ажурира објекат новом вредношћу. Можете приступити новој вредности користећи формат() функцију објекта ДатеТиме.

Пример 1: Одузимање различитих интервала

Тхе дате_суб() функција омогућава одузимање различитих интервала, а не само дана. Хајде да размотримо сценарио где желимо да одузмемо 2 сата и 30 минута од датог датума и времена.



$дате = Нова Датум време ( '2023-11-02 10:32:45' ) ;

$интервал = Нова ДатеИнтервал ( 'ПТ1Х15М' ) ;

дате_суб ( $дате , $интервал ) ;

одјек $дате -> формату ( „И-м-д Х:и:с“ ) ;

?>

У овом примеру креирамо објекат ДатеТиме који представља датум и време “2023-11-02 10:32:45” . Такође креирамо а ДатеИнтервал објекат који представља период од 1 сата и 15 минута користећи формат “ПТ1Х15М”. Затим користимо дате_суб() функција за одузимање интервала од датума и времена.

Пример 2: Одузимање више интервала

Такође можете користити дате_суб() функција за одузимање више интервала од ДатеТиме објекта. Синтакса је једноставна: само креирајте нови објекат ДатеИнтервал за сваки интервал који желите да одузмете и проследите их све у дате_суб() функционише као низ.



$интервалс = низ (

Нова ДатеИнтервал ( 'П1И' ) ,

Нова ДатеИнтервал ( 'П6М' ) ,

Нова ДатеИнтервал ( 'П3Д' )

) ;

$датетиме = Нова Датум време ( ) ;

за сваки ( $интервалс као $интервал ) {

дате_суб ( $датетиме , $интервал ) ;

}

одјек $датетиме -> формату ( 'И-м-д Х:и:с' ) ;

?>

У овом примеру, од датума смо одузели годину, шест месеци и три дана.

Пример 3: дате_суб() са временским зонама

Једна ствар коју треба да будете свесни када користите дате_суб() функција је да може утицати на временску зону вашег Датум време објекат. Подразумевано, Датум време објекти користе временску зону вашег сервера. Међутим, ако желите да радите са другом временском зоном, можете је експлицитно подесити користећи сетТимезоне() методом.



$датетиме = Нова Датум време ( 'Сада' , Нова ДатеТимеЗоне ( 'Америца/Нев_Иорк' ) ) ;

$интервал = Нова ДатеИнтервал ( 'П1Д' ) ;

дате_суб ( $датетиме , $интервал ) ;

одјек $датетиме -> формату ( 'И-м-д Х:и:с' ) ;

?>

У овом примеру, поставили смо временску зону на Америца/Нев_Иорк и одузели један дан од датума и времена.

Приликом одузимања интервала помоћу дате_суб() функцију, важно је напоменути да се резултирајући датум аутоматски прилагођава ако постане неважећи.

Закључак

Тхе дате_суб() функција у ПХП-у пружа згодан начин за одузимање интервала од ДатеТиме објеката. Користећи ову функцију, програмери могу лако да изврше операције као што су одузимање дана, сати, минута или сложених интервала од датог датума и времена. Тхе дате_суб() функција нуди флексибилност и тачност у руковању прорачунима датума, што је чини вредним алатом за рад са датумима и временом у ПХП апликацијама.