เมื่อดูเอกสาร PHP แล้วทั้งสองวิธีต่อไปนี้ของDateTime
วัตถุจะแก้ปัญหาของฉันได้:
- DateTime :: diff : รับความแตกต่างและใช้สิ่งนั้นเพื่อพิจารณาว่าอันไหนโบราณกว่ากัน
- DateTime :: getTimestamp : รับเวลา UNIX และเปรียบเทียบสิ่งเหล่านั้น
ทั้งสองวิธีเหล่านี้มีการทำเครื่องหมายในdocoว่ามีให้ในเวอร์ชัน> = 5.3 (และไม่น่าแปลกใจถ้าฉันพยายามโทรหาพวกเขาฉันพบว่าพวกเขาไม่มีอยู่จริง) ฉันไม่พบเอกสารเฉพาะสำหรับ 5.2.8 ดังนั้นฉันไม่แน่ใจว่ามีวิธีเทียบเท่าในรุ่นของฉันหรือไม่ ฉันได้Googledปัญหาและพบวิธีการแก้ปัญหาที่หลากหลายซึ่งไม่มีคำตอบใดที่ฉันต้องการได้ง่าย:
- ฉันจะเปรียบเทียบวัตถุ DateTime สองรายการได้อย่างไร
- ฉันจะหา doco สำหรับ PHP เวอร์ชันก่อนหน้าได้จากที่ใด รุ่นเฉพาะ 5.2.8?
สำหรับบางบริบทฉันมีรหัสต่อไปนี้:
$st_dt = new DateTime(verifyParam ('start_date'));
$end_dt = new DateTime(verifyParam ('end_date'));
// is the end date more ancient than the start date?
if ($end_dt < $start_dt)
เห็นได้ชัดว่าไม่มีผู้ดำเนินการเปรียบเทียบกับผู้ชายคนนี้
แก้ไข
เห็นได้ชัดว่าสมมติฐานของฉันเป็นเท็จอย่างสมบูรณ์ (ขอบคุณ Milen สำหรับการอธิบายอย่างมีประสิทธิภาพ) มีโอเปอเรเตอร์เปรียบเทียบและใช้งานได้ดีขอบคุณ บางครั้งฉันก็คิดถึงคอมไพเลอร์ ข้อผิดพลาดอยู่ในรหัสด้านบนฉันแน่ใจว่าคุณจะพบมันเร็วกว่าที่ฉันทำ :)
$_POST
vars ของคุณมิเช่นนั้นลูกแมวจะถูกฆ่า