Jawaban:
Karena PHP> = 5.2.2 Anda dapat menggunakan DateTime
kelas seperti ini:
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00
# in other words, 2010-05-15 16:00:00 has passed
}
String yang diteruskan ke konstruktor DateTime diurai sesuai dengan aturan ini .
Perhatikan bahwa itu juga memungkinkan untuk digunakan time
dan strtotime
berfungsi. Lihat jawaban asli .
new DateTime('2010-05-15')
hanyalah sebuah contoh, dapat berupa objek DateTime apa pun yang Anda inisialisasi sebelumnya.
$object
adalah objek DateTime, saya menggunakan if (new DateTime() > $object) {}
dan berfungsi dengan tidak benar. Tapi if (time() > $bject->getTimeStamp()) {}
bekerja dengan benar. @Salman A
Ada juga kelas DateTime yang mengimplementasikan fungsi untuk operator perbandingan.
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ( $dtA > $dtB ) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
Periksa strtotime
-fungsi PHP untuk mengubah tanggal / waktu yang Anda tetapkan menjadi stempel waktu: http://php.net/manual/en/function.strtotime.php
Jika strtotime
tidak dapat menangani format tanggal / waktu Anda dengan benar ("4:00 PM" mungkin akan berfungsi tetapi tidak "pada 4PM"), Anda harus menggunakan fungsi string, misalnya substr
untuk mengurai / memperbaiki format Anda dan mengambil stempel waktu Anda melalui fungsi lain, mis mktime
.
Kemudian bandingkan stempel waktu yang dihasilkan dengan tanggal / waktu saat ini ( if ($calulated_timestamp > time()) { /* date in the future */ }
) untuk melihat apakah tanggal / waktu yang ditetapkan di masa lalu atau masa depan.
Saya sarankan untuk membaca PHP-doc pada tanggal / waktu-fungsi dan kembali ke sini dengan beberapa kode sumber Anda setelah Anda buntu.
date_default_timezone_set('Asia/Kolkata');
$curDateTime = date("Y-m-d H:i:s");
$myDate = date("Y-m-d H:i:s", strtotime("2018-06-26 16:15:33"));
if($myDate < $curDateTime){
echo "active";exit;
}else{
echo "inactive";exit;
}
$myDate
akan sama dengan string (0) ""
.