Date_sub()-funktion käyttäminen PHP:ssä

Date Sub Funktion Kayttaminen Php Ssa



The date_sub() on funktio Treffiaika luokka, joka on osa PHP:n päivämäärä- ja aikalisäystä. Sitä käytetään tietyn aikavälin vähentämiseen tietystä päivämäärästä. Sitä voidaan käyttää tulevan päivämäärän laskemiseen vähentämällä yksi tai useampi päivä, kuukausi tai vuosi nykyisestä päivämäärästä. The date_sub() funktio palauttaa uuden Treffiaika objekti, joka edustaa päivämäärää ja kellonaikaa laskennan jälkeen.

Perussyntaksi

Syntaksi käyttöä varten date_sub() toiminto on annettu alla:

date_sub ( Treffiaika $objekti , Päivämääräväli $väli )

Tässä, $objekti on Treffiaika objekti, josta haluat vähentää välin, ja $väli on Päivämääräväli objekti, joka määrittää välin, jonka haluat vähentää. Huomaa, että molemmat argumentit ovat pakollisia käyttääksesi date_sub() toimivat oikein.







Työskentely DateIntervalin kanssa

Käyttääksesi date_sub() toiminto, sinun on luotava a Päivämääräväli objekti, joka määrittää ajan, jonka haluat vähentää alkuperäisestä päivämäärästä ja kellonajasta. Päivämääräväli objekteja voidaan luoda käyttämällä Päivämääräväli rakentaja. Rakentaja ottaa merkkijonoparametrin, joka määrittää välin muodossa, kuten P1D (yksi päivä), P1M (yksi kuukausi), P1Y (yksi vuosi) ja P1DT1H (yksi päivä ja yksi tunti).



Esimerkkejä

// Vähennä yksi päivä
$väli = Uusi Päivämääräväli ( 'P1D' ) ; // Vähennä yksi kuukausi
$väli = Uusi Päivämääräväli ( 'P1M' ) ;

// Vähennä yksi vuosi
$väli = Uusi Päivämääräväli ( 'P1Y' ) ;

PHP:n date_sub()-funktion käyttäminen

Kun sinulla on a Päivämääräväli objekti, voit yhdistää sen kanssa a Treffiaika objekti laskea uusi päivämäärä-aika. Tässä on esimerkki, joka vähentää yhden päivän nykyisestä päivämäärästä:





$datetime = Uusi Treffiaika ( ) ;

$väli = Uusi Päivämääräväli ( 'P1D' ) ;

date_sub ( $datetime , $väli ) ;

kaiku $datetime -> muoto ( 'Y-m-d H:i:s' ) ;

?>

Kuten näet, uusi päivämäärä-aika on päivän aikaisempi kuin nykyinen päivämäärä.





On myös mahdollista vähentää tunteja, minuutteja ja sekunteja DateTime-objektista käyttämällä date_sub() toiminto. Tuntien vähentämiseksi voit välittää päivämäärävälin muodossa PT1H, mikä tarkoittaa yhden tunnin vähentämistä. Harkitse esimerkiksi seuraavaa koodia:





$datetime = Uusi Treffiaika ( '2023-05-16 14:43:00' ) ;

date_sub ( $datetime , Uusi Päivämääräväli ( 'PT1H' ) ) ;

kaiku $datetime -> muoto ( 'Y-m-d H:i:s' ) ;

?>

Tämä vähentää DateTime-objektista yhden tunnin ja päivittää objektin uudella arvolla. Pääset uuteen arvoon käyttämällä muoto() DateTime-objektin funktio.

Esimerkki 1: Eri intervallien vähentäminen

The date_sub() toiminto mahdollistaa erilaisten välien vähentämisen, ei vain päivien. Tarkastellaan skenaariota, jossa haluamme vähentää 2 tuntia ja 30 minuuttia tietystä päivämäärästä ja kellonajasta.



$date = Uusi Treffiaika ( '2023-11-02 10:32:45' ) ;

$väli = Uusi Päivämääräväli ( 'PT1H15M' ) ;

date_sub ( $date , $väli ) ;

kaiku $date -> muoto ( 'Y-m-d H:i:s' ) ;

?>

Tässä esimerkissä luomme DateTime-objektin, joka edustaa päivämäärää ja aikaa '2023-11-02 10:32:45' . Luomme myös a Päivämääräväli kohde, joka edustaa 1 tunnin ja 15 minuutin ajanjaksoa käyttämällä muotoa 'PT1H15M'. Käytämme sitten date_sub() toiminto vähentääksesi välin päivämäärästä ja kellonajasta.

Esimerkki 2: Useiden intervallien vähentäminen

Voit myös käyttää date_sub() funktio vähentää useita aikaväliä DateTime-objektista. Syntaksi on yksinkertainen: luo vain uusi DateInterval-objekti jokaiselle välille, jonka haluat vähentää, ja välitä ne kaikki date_sub() toimivat taulukkona.



$välit = joukko (

Uusi Päivämääräväli ( 'P1Y' ) ,

Uusi Päivämääräväli ( 'P6M' ) ,

Uusi Päivämääräväli ( 'P3D' )

) ;

$datetime = Uusi Treffiaika ( ) ;

jokaiselle ( $välit kuten $väli ) {

date_sub ( $datetime , $väli ) ;

}

kaiku $datetime -> muoto ( 'Y-m-d H:i:s' ) ;

?>

Tässä esimerkissä vähennimme päivämäärästä yhden vuoden, kuusi kuukautta ja kolme päivää.

Esimerkki 3: date_sub() ja aikavyöhykkeet

Yksi asia, joka sinun on oltava tietoinen käyttäessäsi date_sub() toiminto on, että se voi vaikuttaa aikavyöhykkeesi Treffiaika esine. Oletuksena, Treffiaika objektit käyttävät palvelimesi aikavyöhykettä. Jos kuitenkin haluat työskennellä eri aikavyöhykkeen kanssa, voit asettaa sen nimenomaisesti käyttämällä setTimezone() menetelmä.



$datetime = Uusi Treffiaika ( 'nyt' , Uusi DateTimeZone ( 'Amerikka/New_York' ) ) ;

$väli = Uusi Päivämääräväli ( 'P1D' ) ;

date_sub ( $datetime , $väli ) ;

kaiku $datetime -> muoto ( 'Y-m-d H:i:s' ) ;

?>

Tässä esimerkissä asetimme aikavyöhykkeeksi Amerikka/New_York ja vähennimme päivämäärän kellonajasta yhden päivän.

Kun vähennät intervalleja käyttämällä date_sub() -toimintoa, on tärkeää huomata, että tuloksena olevaa päivämäärää säädetään automaattisesti, jos se ei kelpaa.

Johtopäätös

The date_sub() PHP-funktio tarjoaa kätevän tavan vähentää aikavälit DateTime-objekteista. Käyttämällä tätä toimintoa kehittäjät voivat helposti suorittaa toimintoja, kuten vähentää päiviä, tunteja, minuutteja tai monimutkaisia ​​aikavälejä tietystä päivämäärästä ja kellonajasta. The date_sub() toiminto tarjoaa joustavuutta ja tarkkuutta päivämäärälaskelmien käsittelyssä, mikä tekee siitä arvokkaan työkalun päivämäärien ja kellonaikojen käsittelyyn PHP-sovelluksissa.