Cara Menggunakan Fungsi date_sub() dalam PHP

Cara Menggunakan Fungsi Date Sub Dalam Php



The tarikh_sub() adalah fungsi daripada Masa tarikh kelas, yang merupakan sebahagian daripada sambungan tarikh dan masa PHP. Ia digunakan untuk menolak selang tertentu daripada tarikh tertentu. Ia boleh digunakan untuk mengira tarikh masa hadapan dengan menolak satu atau lebih hari, bulan atau tahun daripada tarikh semasa. The tarikh_sub() fungsi mengembalikan yang baru Masa tarikh objek yang mewakili tarikh dan masa selepas pengiraan dibuat.

Sintaks Asas

Sintaks untuk menggunakan tarikh_sub() fungsi diberikan di bawah:

tarikh_sub ( Masa tarikh $objek , Selang Tarikh $interval )

di sini, $objek adalah Masa tarikh objek yang anda ingin tolak selang daripada, dan $interval adalah Selang Tarikh objek yang menentukan selang yang anda ingin tolak. Ambil perhatian bahawa kedua-dua hujah diperlukan untuk menggunakan tarikh_sub() berfungsi dengan betul.







Bekerja dengan DateInterval

Untuk menggunakan tarikh_sub() fungsi, anda perlu mencipta a Selang Tarikh objek yang menentukan jumlah masa yang anda ingin tolak daripada tarikh-masa asal anda. Selang Tarikh objek boleh dibuat menggunakan Selang Tarikh pembina. Pembina mengambil parameter rentetan yang menentukan selang dalam format seperti P1D (satu hari), P1M (satu bulan), P1Y (satu tahun) dan P1DT1H (satu hari dan satu jam).



Contoh

// Tolak satu hari
$interval = baru Selang Tarikh ( 'P1D' ) ; // Tolak sebulan
$interval = baru Selang Tarikh ( 'P1M' ) ;

// Tolak satu tahun
$interval = baru Selang Tarikh ( 'P1Y' ) ;

Cara Menggunakan Fungsi PHP date_sub().

Sebaik sahaja anda mempunyai a Selang Tarikh objek, anda boleh menggabungkannya dengan a Masa tarikh objek untuk mengira tarikh-masa baharu. Berikut ialah contoh yang menolak satu hari daripada tarikh semasa:





$datetime = baru Masa tarikh ( ) ;

$interval = baru Selang Tarikh ( 'P1D' ) ;

tarikh_sub ( $datetime , $interval ) ;

bergema $datetime -> format ( 'Y-m-d H:i:s' ) ;

?>

Seperti yang anda lihat, tarikh tarikh baharu adalah satu hari lebih awal daripada tarikh semasa.





Ia juga mungkin untuk menolak jam, minit dan saat daripada objek DateTime menggunakan tarikh_sub() fungsi. Untuk menolak jam, anda boleh melepasi selang tarikh sebagai PT1H, yang bermaksud tolak satu jam. Sebagai contoh, pertimbangkan kod berikut:





$datetime = baru Masa tarikh ( '2023-05-16 14:43:00' ) ;

tarikh_sub ( $datetime , baru Selang Tarikh ( 'PT1H' ) ) ;

bergema $datetime -> format ( 'Y-m-d H:i:s' ) ;

?>

Ini menolak satu jam daripada objek DateTime dan mengemas kini objek dengan nilai baharu. Anda boleh mengakses nilai baharu dengan menggunakan format() fungsi objek DateTime.

Contoh 1: Menolak Selang Berbeza

The tarikh_sub() fungsi membenarkan untuk menolak pelbagai selang, bukan hanya hari. Mari kita pertimbangkan senario di mana kita ingin menolak 2 jam dan 30 minit daripada tarikh dan masa tertentu.



$tarikh = baru Masa tarikh ( '2023-11-02 10:32:45' ) ;

$interval = baru Selang Tarikh ( 'PT1H15M' ) ;

tarikh_sub ( $tarikh , $interval ) ;

bergema $tarikh -> format ( 'Y-m-d H:i:s' ) ;

?>

Dalam contoh ini, kami mencipta objek DateTime yang mewakili tarikh dan masa “2023-11-02 10:32:45” . Kami juga mencipta a Selang Tarikh objek yang mewakili tempoh 1 jam dan 15 minit menggunakan format “PT1H15M”. Kami kemudian menggunakan tarikh_sub() berfungsi untuk menolak selang dari tarikh dan masa.

Contoh 2: Menolak Selang Berganda

Anda juga boleh menggunakan tarikh_sub() berfungsi untuk menolak berbilang selang daripada objek DateTime. Sintaksnya mudah: cuma buat objek DateInterval baharu untuk setiap selang yang anda mahu tolak, dan hantar semuanya ke tarikh_sub() berfungsi sebagai tatasusunan.



$intervals = tatasusunan (

baru Selang Tarikh ( 'P1Y' ) ,

baru Selang Tarikh ( 'P6M' ) ,

baru Selang Tarikh ( 'P3D' )

) ;

$datetime = baru Masa tarikh ( ) ;

untuk setiap ( $intervals sebagai $interval ) {

tarikh_sub ( $datetime , $interval ) ;

}

bergema $datetime -> format ( 'Y-m-d H:i:s' ) ;

?>

Dalam contoh ini, kami menolak satu tahun, enam bulan dan tiga hari dari tarikh tersebut.

Contoh 3: date_sub() dengan Zon Waktu

Satu perkara yang perlu anda ketahui apabila menggunakan tarikh_sub() Fungsinya ialah ia boleh menjejaskan zon waktu anda Masa tarikh objek. Secara lalai, Masa tarikh objek menggunakan zon waktu pelayan anda. Walau bagaimanapun, jika anda ingin bekerja dengan zon waktu yang berbeza, anda boleh menetapkannya secara eksplisit menggunakan setTimezone() kaedah.



$datetime = baru Masa tarikh ( 'sekarang' , baru DateTimeZone ( 'Amerika/New_York' ) ) ;

$interval = baru Selang Tarikh ( 'P1D' ) ;

tarikh_sub ( $datetime , $interval ) ;

bergema $datetime -> format ( 'Y-m-d H:i:s' ) ;

?>

Dalam contoh ini, kami menetapkan zon waktu kepada America/New_York dan menolak satu hari daripada tarikh tersebut.

Apabila menolak selang menggunakan tarikh_sub() fungsi, adalah penting untuk ambil perhatian bahawa tarikh yang terhasil dilaraskan secara automatik jika ia menjadi tidak sah.

Kesimpulan

The tarikh_sub() fungsi dalam PHP menyediakan cara mudah untuk menolak selang daripada objek DateTime. Dengan menggunakan fungsi ini, pembangun boleh melakukan operasi dengan mudah seperti menolak hari, jam, minit atau selang kompleks daripada tarikh dan masa tertentu. The tarikh_sub() fungsi menawarkan fleksibiliti dan ketepatan dalam mengendalikan pengiraan tarikh, menjadikannya alat yang berharga untuk bekerja dengan tarikh dan masa dalam aplikasi PHP.