PHP'de date_sub() İşlevi Nasıl Kullanılır?

Php De Date Sub Islevi Nasil Kullanilir



bu tarih_sub() bir fonksiyonudur TarihSaat PHP'nin tarih ve saat uzantısının bir parçası olan sınıf. Belirli bir tarihten belirli bir aralığı çıkarmak için kullanılır. Mevcut tarihten bir veya daha fazla gün, ay veya yılı çıkararak gelecekteki bir tarihi hesaplamak için kullanılabilir. bu tarih_sub() işlev yeni bir döndürür TarihSaat hesaplama yapıldıktan sonra tarih ve saati temsil eden nesne.

Temel Sözdizimi

Kullanmak için sözdizimi tarih_sub() fonksiyon aşağıda verilmiştir:

tarih_sub ( TarihSaat $nesne , Tarih Aralığı $ aralığı )

Burada, $nesne bu TarihSaat aralığı çıkarmak istediğiniz nesne ve $ aralığı bu Tarih Aralığı çıkarmak istediğiniz aralığı belirten nesne. kullanmak için her iki bağımsız değişkenin de gerekli olduğunu unutmayın. tarih_sub() doğru şekilde çalışır.







DateInterval ile çalışma

kullanmak için tarih_sub() bir işlev oluşturmanız gerekir. Tarih Aralığı orijinal tarih-saatinizden çıkarmak istediğiniz süreyi belirten nesne. Tarih Aralığı kullanılarak nesneler oluşturulabilir. Tarih Aralığı yapıcı Yapıcı, aralığı P1D (bir gün), P1M (bir ay), P1Y (bir yıl) ve P1DT1H (bir gün ve bir saat) gibi bir biçimde belirten bir dize parametresi alır.



örnekler

// bir gün çıkar
$ aralığı = yeni Tarih Aralığı ( 'P1D' ) ; // bir ay çıkar
$ aralığı = yeni Tarih Aralığı ( 'P1M' ) ;

// bir yıl çıkar
$ aralığı = yeni Tarih Aralığı ( 'P1Y' ) ;

PHP date_sub() İşlevi Nasıl Kullanılır

sahip olduktan sonra Tarih Aralığı nesne ile birleştirebilirsiniz TarihSaat yeni bir tarih-saat hesaplamak için nesne. İşte geçerli tarihten bir gün çıkaran bir örnek:





$tarihsaat = yeni TarihSaat ( ) ;

$ aralığı = yeni Tarih Aralığı ( 'P1D' ) ;

tarih_sub ( $tarihsaat , $ aralığı ) ;

Eko $tarihsaat -> biçim ( 'Y-m-d H:i:s' ) ;

?>

Gördüğünüz gibi, yeni tarih saat geçerli tarihten bir gün önce.





DateTime nesnesinden saat, dakika ve saniye çıkarmak da mümkündür. tarih_sub() işlev. Saatleri çıkarmak için tarih aralığını PT1H olarak iletebilirsiniz, bu bir saat çıkarmak anlamına gelir. Örneğin, aşağıdaki kodu göz önünde bulundurun:





$tarihsaat = yeni TarihSaat ( '2023-05-16 14:43:00' ) ;

tarih_sub ( $tarihsaat , yeni Tarih Aralığı ( 'PT1H' ) ) ;

Eko $tarihsaat -> biçim ( 'Y-m-d H:i:s' ) ;

?>

Bu, DateTime nesnesinden bir saat çıkarır ve nesneyi yeni değerle günceller. kullanarak yeni değere erişebilirsiniz. biçim() DateTime nesnesinin işlevi.

Örnek 1: Farklı Aralıkları Çıkarma

bu tarih_sub() işlevi, yalnızca günleri değil, çeşitli aralıkları çıkarmaya izin verir. Belirli bir tarih ve saatten 2 saat 30 dakika çıkarmak istediğimiz bir senaryo düşünelim.



$tarih = yeni TarihSaat ( '2023-11-02 10:32:45' ) ;

$ aralığı = yeni Tarih Aralığı ( 'PT1H15M' ) ;

tarih_sub ( $tarih , $ aralığı ) ;

Eko $tarih -> biçim ( 'Y-m-d H:i:s' ) ;

?>

Bu örnekte, tarih ve saati temsil eden bir DateTime nesnesi oluşturuyoruz. “2023-11-02 10:32:45” . Biz de bir Tarih Aralığı “PT1H15M” formatını kullanarak 1 saat 15 dakikalık bir süreyi temsil eden nesne. daha sonra kullanırız tarih_sub() tarih ve saatten aralığı çıkarmak için işlev.

Örnek 2: Çoklu Aralıkları Çıkarma

Şunu da kullanabilirsiniz: tarih_sub() DateTime nesnesinden birden çok aralığı çıkarmak için işlev. Sözdizimi basittir: çıkartmak istediğiniz her aralık için yeni bir DateInterval nesnesi oluşturun ve hepsini tarih_sub() dizi olarak işlev görür.



$ aralıkları = sıralamak (

yeni Tarih Aralığı ( 'P1Y' ) ,

yeni Tarih Aralığı ( 'P6M' ) ,

yeni Tarih Aralığı ( 'P3D' )

) ;

$tarihsaat = yeni TarihSaat ( ) ;

her biri için ( $ aralıkları gibi $ aralığı ) {

tarih_sub ( $tarihsaat , $ aralığı ) ;

}

Eko $tarihsaat -> biçim ( 'Y-m-d H:i:s' ) ;

?>

Bu örnekte tarihten bir yıl, altı ay ve üç gün çıkardık.

Örnek 3: Date_sub() ile Saat Dilimleri

kullanırken dikkat etmeniz gereken bir şey tarih_sub() işlevi, cihazınızın saat dilimini etkileyebilmesidir. TarihSaat nesne. Varsayılan olarak, TarihSaat nesneler, sunucunuzun saat dilimini kullanır. Ancak, farklı bir saat dilimiyle çalışmak istiyorsanız, bunu kullanarak açıkça ayarlayabilirsiniz. setTimezone() yöntem.



$tarihsaat = yeni TarihSaat ( 'Şimdi' , yeni TarihSaatZone ( 'Amerika/New_York' ) ) ;

$ aralığı = yeni Tarih Aralığı ( 'P1D' ) ;

tarih_sub ( $tarihsaat , $ aralığı ) ;

Eko $tarihsaat -> biçim ( 'Y-m-d H:i:s' ) ;

?>

Bu örnekte, saat dilimini America/New_York olarak ayarladık ve tarih-saatten bir gün çıkardık.

kullanarak aralıkları çıkarırken tarih_sub() işlevi, sonuç tarihinin geçersiz olması durumunda otomatik olarak ayarlandığını not etmek önemlidir.

Çözüm

bu tarih_sub() PHP'deki işlev, DateTime nesnelerinden aralıkları çıkarmak için uygun bir yol sağlar. Geliştiriciler bu işlevi kullanarak, belirli bir tarih ve saatten gün, saat, dakika veya karmaşık aralıkları çıkarma gibi işlemleri kolayca gerçekleştirebilir. bu tarih_sub() işlevi, tarih hesaplamalarında esneklik ve doğruluk sunarak, onu PHP uygulamalarında tarih ve saatlerle çalışmak için değerli bir araç haline getirir.