ฉันกำลังพยายามเขียนสคริปต์ที่จะตรวจสอบว่าวันที่ / เวลาปัจจุบันเลยค่า 05/15/2010 at 4PM
ฉันจะใช้ฟังก์ชัน date () ของ PHP เพื่อทำการตรวจสอบนี้ได้อย่างไร
ฉันกำลังพยายามเขียนสคริปต์ที่จะตรวจสอบว่าวันที่ / เวลาปัจจุบันเลยค่า 05/15/2010 at 4PM
ฉันจะใช้ฟังก์ชัน date () ของ PHP เพื่อทำการตรวจสอบนี้ได้อย่างไร
คำตอบ:
เนื่องจาก PHP> = 5.2.2 คุณสามารถใช้DateTime
คลาสดังนี้:
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
}
สตริงส่งผ่านไปยังตัวสร้าง DateTimeจะแยกไปตามกฎเหล่านี้
โปรดทราบว่ายังสามารถใช้งานtime
และstrtotime
ฟังก์ชันต่างๆ ดูคำตอบเดิม
new DateTime('2010-05-15')
เป็นเพียงตัวอย่างอาจเป็นอ็อบเจกต์ DateTime ที่คุณเตรียมใช้งานก่อนหน้านี้
$object
เป็นวัตถุ DateTime ฉันใช้if (new DateTime() > $object) {}
และทำงานผิดพลาด แต่ใช้if (time() > $bject->getTimeStamp()) {}
งานได้จริง @Salman A
นอกจากนี้ยังมีคลาสDateTimeซึ่งใช้ฟังก์ชันสำหรับตัวดำเนินการเปรียบเทียบ
// $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';
}
ตรวจสอบstrtotime
ฟังก์ชันของ PHP เพื่อแปลงวันที่ / เวลาที่คุณตั้งไว้เป็นเวลาประทับ: http://php.net/manual/en/function.strtotime.php
หากstrtotime
ไม่สามารถจัดการรูปแบบวันที่ / เวลาของคุณได้อย่างถูกต้อง ("16:00 น." อาจใช้งานได้ แต่ไม่ใช่ "เวลา 16.00 น.") คุณจะต้องใช้ฟังก์ชันสตริงเช่นsubstr
เพื่อแยกวิเคราะห์ / แก้ไขรูปแบบของคุณและเรียกข้อมูลการประทับเวลาของคุณผ่าน mktime
ฟังก์ชั่นอื่นเช่น
จากนั้นเปรียบเทียบการประทับเวลาที่เป็นผลลัพธ์กับวันที่ / เวลาปัจจุบัน ( if ($calulated_timestamp > time()) { /* date in the future */ }
) เพื่อดูว่าวันที่ / เวลาที่ตั้งไว้เป็นอดีตหรือในอนาคต
ฉันขอแนะนำให้อ่าน PHP-doc เกี่ยวกับฟังก์ชันวันที่ / เวลาและกลับมาที่นี่พร้อมกับซอร์สโค้ดบางส่วนของคุณเมื่อคุณติดขัด
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
string (0) ""