Kako koristiti funkciju date_sub() u PHP-u

Kako Koristiti Funkciju Date Sub U Php U



The datum_pod() je funkcija od Datum vrijeme klasa, koja je dio PHP-ovog proširenja datuma i vremena. Koristi se za oduzimanje određenog intervala od zadanog datuma. Može se koristiti za izračun budućeg datuma oduzimanjem jednog ili više dana, mjeseci ili godina od trenutnog datuma. The datum_pod() funkcija vraća novi Datum vrijeme objekt koji predstavlja datum i vrijeme nakon izvršenog izračuna.

Osnovna sintaksa

Sintaksa za korištenje datum_pod() funkcija je data u nastavku:

datum_pod ( Datum vrijeme $objekt , DatumInterval $interval )

Ovdje, $objekt je Datum vrijeme objekt od kojeg želite oduzeti interval, i $interval je DatumInterval objekt koji specificira interval koji želite oduzeti. Imajte na umu da su oba argumenta potrebna za korištenje datum_pod() ispravno funkcionirati.







Rad s DateIntervalom

Za korištenje datum_pod() funkciju, morate stvoriti a DatumInterval objekt koji specificira količinu vremena koju želite oduzeti od vašeg originalnog datuma-vremena. DatumInterval objekti se mogu kreirati pomoću DatumInterval konstruktor. Konstruktor uzima parametar niza koji specificira interval u formatu kao što je P1D (jedan dan), P1M (jedan mjesec), P1Y (jedna godina) i P1DT1H (jedan dan i jedan sat).



Primjeri

// Oduzmi jedan dan
$interval = novi DatumInterval ( 'P1D' ) ; // Oduzmi jedan mjesec
$interval = novi DatumInterval ( 'P1M' ) ;

// Oduzmi jednu godinu
$interval = novi DatumInterval ( 'P1Y' ) ;

Kako koristiti PHP funkciju date_sub().

Nakon što imate a DatumInterval objekt, možete ga kombinirati s a Datum vrijeme objekt za izračunavanje novog datuma i vremena. Evo primjera koji oduzima jedan dan od trenutnog datuma:





$datumvrijeme = novi Datum vrijeme ( ) ;

$interval = novi DatumInterval ( 'P1D' ) ;

datum_pod ( $datumvrijeme , $interval ) ;

jeka $datumvrijeme -> format ( 'Y-m-d H:i:s' ) ;

?>

Kao što vidite, novi datum i vrijeme je jedan dan ranije od trenutnog datuma.





Također je moguće oduzeti sate, minute i sekunde od objekta DateTime pomoću datum_pod() funkcija. Za oduzimanje sati možete proslijediti datumski interval kao PT1H, što znači oduzimanje jednog sata. Na primjer, razmotrite sljedeći kôd:





$datumvrijeme = novi Datum vrijeme ( '2023-05-16 14:43:00' ) ;

datum_pod ( $datumvrijeme , novi DatumInterval ( 'PT1H' ) ) ;

jeka $datumvrijeme -> format ( 'Y-m-d H:i:s' ) ;

?>

Ovo oduzima jedan sat od objekta DateTime i ažurira objekt novom vrijednošću. Novoj vrijednosti možete pristupiti pomoću format() funkcija objekta DateTime.

Primjer 1: Oduzimanje različitih intervala

The datum_pod() funkcija omogućuje oduzimanje različitih intervala, a ne samo dana. Razmotrimo scenarij u kojem želimo oduzeti 2 sata i 30 minuta od zadanog datuma i vremena.



$datum = novi Datum vrijeme ( '2023-11-02 10:32:45' ) ;

$interval = novi DatumInterval ( 'PT1H15M' ) ;

datum_pod ( $datum , $interval ) ;

jeka $datum -> format ( 'Y-m-d H:i:s' ) ;

?>

U ovom primjeru stvaramo objekt DateTime koji predstavlja datum i vrijeme “2023-11-02 10:32:45” . Također stvaramo a DatumInterval objekt koji predstavlja razdoblje od 1 sat i 15 minuta u formatu 'PT1H15M'. Zatim koristimo datum_pod() funkciju za oduzimanje intervala od datuma i vremena.

Primjer 2: Oduzimanje više intervala

Također možete koristiti datum_pod() funkcija za oduzimanje više intervala od objekta DateTime. Sintaksa je jednostavna: samo stvorite novi objekt DateInterval za svaki interval koji želite oduzeti i proslijedite ih sve datum_pod() funkcioniraju kao niz.



$intervali = niz (

novi DatumInterval ( 'P1Y' ) ,

novi DatumInterval ( 'P6M' ) ,

novi DatumInterval ( 'P3D' )

) ;

$datumvrijeme = novi Datum vrijeme ( ) ;

za svakoga ( $intervali kao $interval ) {

datum_pod ( $datumvrijeme , $interval ) ;

}

jeka $datumvrijeme -> format ( 'Y-m-d H:i:s' ) ;

?>

U ovom smo primjeru od datuma oduzeli jednu godinu, šest mjeseci i tri dana.

Primjer 3: date_sub() s vremenskim zonama

Jedne stvari morate biti svjesni kada koristite datum_pod() funkcija je da može utjecati na vašu vremensku zonu Datum vrijeme objekt. Prema zadanim postavkama Datum vrijeme objekti koriste vremensku zonu vašeg poslužitelja. Međutim, ako želite raditi s drugom vremenskom zonom, možete je eksplicitno postaviti pomoću setTimezone() metoda.



$datumvrijeme = novi Datum vrijeme ( 'sada' , novi DatumVremeZona ( 'Amerika/New_York' ) ) ;

$interval = novi DatumInterval ( 'P1D' ) ;

datum_pod ( $datumvrijeme , $interval ) ;

jeka $datumvrijeme -> format ( 'Y-m-d H:i:s' ) ;

?>

U ovom smo primjeru postavili vremensku zonu na America/New_York i oduzeli jedan dan od datuma i vremena.

Prilikom oduzimanja intervala pomoću datum_pod() važno je napomenuti da se rezultirajući datum automatski prilagođava ako postane nevažeći.

Zaključak

The datum_pod() funkcija u PHP-u pruža prikladan način za oduzimanje intervala od DateTime objekata. Korištenjem ove funkcije, programeri mogu jednostavno izvoditi operacije kao što su oduzimanje dana, sati, minuta ili složenih intervala od zadanog datuma i vremena. The datum_pod() funkcija nudi fleksibilnost i točnost u rukovanju izračunima datuma, što je čini vrijednim alatom za rad s datumima i vremenima u PHP aplikacijama.