Bagaimana membandingkan dua tanggal di php jika tanggal dalam format '03_01_12'
dan '31_12_11'
.
Saya menggunakan kode ini:
$date1=date('d_m_y');
$date2='31_12_11';
if(strtotime($date1) < strtotime($date2))
echo '1 is small ='.strtotime($date1).','.$date1;
else
echo '2 is small ='.strtotime($date2).','.$date2;
Tapi itu tidak berhasil ..
Jawaban:
Anda harus memastikan bahwa tanggal Anda adalah objek tanggal yang valid.
Coba ini:
Anda kemudian dapat melakukan
strtotime()
metode untuk mendapatkan perbedaannya.sumber
Menggunakan DateTime :: createFromFormat :
sumber
;, :, (, ), /, ., ,, -
akan berfungsi.Fungsi date_diff () mengembalikan perbedaan antara dua objek DateTime.
Jika tanggal pertama sebelum tanggal kedua sejumlah hari positif akan dikembalikan; jika tidak, jumlah hari negatif:
keluarannya adalah "+272 hari";
mengubah $ date1 = "2014-03-15"
Output akan menjadi "-93 hari"
sumber
sumber
Bukan menjawab masalah sebenarnya OP, tapi hanya menjawab judul. Karena ini adalah hasil teratas untuk "membandingkan tanggal di php".
Cukup sederhana untuk menggunakan Objek Datetime (
php >= 5.3.0
) dan Bandingkan mereka secara langsungsumber
Memperluas jawaban @ nevermind, seseorang dapat menggunakan DateTime :: createFromFormat: seperti,
sumber
Anda dapat mencoba sesuatu seperti:
Anda kemudian dapat mengakses perbedaan pada hari-hari seperti ini $ dateDiff-> d;
sumber
Tidak tahu apa masalah Anda, tetapi:
sumber
Coba ini
sumber
bandingkan hasil
maketime()
untuk setiap waktusumber
Saya tahu ini terlambat, tetapi untuk referensi di masa mendatang, letakkan format tanggal ke dalam format yang dikenali dengan menggunakan str_replace maka fungsi Anda akan berfungsi. (ganti garis bawah dengan tanda hubung)
sumber
Anda dapat mengonversi untuk bilangan bulat dan membandingkan.
Misalnya.:
sumber
Menurut saya yang satu ini fungsinya sangat sederhana
sumber
Guys Tolong jangan membuatnya terlalu rumit Jawaban sederhana di bawah ini
Saya baru saja menambahkan dua baris lagi dengan kode Anda
sumber
Jika kedua tanggal dalam format yang sama maka gunakan operator perbandingan.
Output: 2018-05-05 lebih lama dari 2019-08-19
sumber