Bagaimana saya bisa mendapatkan hari terakhir bulan ini di PHP? Diberikan:
Saya ingin 2009-11-30; dan diberikan
Saya ingin 2009-12-31.
Kode yang menggunakan strtotime () akan gagal setelah tahun 2038. (seperti yang diberikan dalam jawaban pertama di utas ini) Sebagai contoh coba gunakan yang berikut ini:
Ini akan memberikan jawaban sebagai: 1970-01-31 Jadi alih-alih strtotime, fungsi DateTime harus digunakan. Kode berikut akan berfungsi tanpa masalah Tahun 2038:
Saya tahu ini sedikit terlambat tetapi saya pikir ada cara yang lebih elegan untuk melakukan ini dengan
Ini seharusnya bekerja:
Anda dapat membuat tanggal untuk yang pertama bulan berikutnya, dan kemudian menggunakan Coba ini, jika Anda menggunakan PHP 5.3+,
Untuk menemukan bulan depan tanggal lalu, ubah sebagai berikut,
dan seterusnya.. Apa yang salah - Yang paling elegan bagi saya adalah
menggunakan Saya heran saya tidak melihat
Solusi Anda ada di sini ..
Jika Anda menggunakan Karbon ekstensi API untuk PHP DateTime, Anda bisa mendapatkan hari terakhir bulan itu dengan:
Anda dapat menemukan beberapa hari terakhir dalam bulan ini. Tapi cukup Anda bisa melakukan ini menggunakan PHP strtotime () dan date () function. Saya membayangkan kode akhir Anda akan terlihat seperti ini:
Demo Langsung Tetapi Jika Anda menggunakan PHP> = 5.2 Saya sangat menyarankan Anda menggunakan objek DateTime yang baru. Contohnya seperti di bawah ini:
Demo Langsung Anda juga dapat menyelesaikan ini menggunakan fungsi Anda sendiri seperti di bawah ini:
Anda juga dapat menggunakannya dengan datetime
Menggunakan Zend_Date sangat mudah:
Berikut ini adalah fungsi lengkap:
Ini akan menghasilkan berikut:
Output: 28 Saya terlambat tetapi ada beberapa cara mudah untuk melakukan ini sebagaimana disebutkan:
Menggunakan mktime () adalah tujuan saya untuk kontrol penuh atas semua aspek waktu ... I.E.
Menyetel hari ke 0 dan menaikkan bulan ke 1 akan memberi Anda hari terakhir bulan sebelumnya. Angka 0 dan negatif memiliki pengaruh yang sama dalam argumen yang berbeda. PHP: mktime - Manual Seperti yang dikatakan beberapa orang, strtotime bukanlah cara yang paling solid untuk digunakan dan sedikit jika tidak ada yang mudah serbaguna. Ada beberapa cara untuk mendapatkan hari terakhir bulan ini.
Karbon ekstensi API untuk PHP DateTime
atau
akan kembali
Cara lain menggunakan mktime dan bukan tanggal ('t'):
Jadi cara ini menghitung apakah itu 31,30 atau 29 |