ตั้งใจจะใช้คลาส DateTime ของ php ตรวจความถูกต้องของวันที่ ลองไปลองมา ทำไม 31 กุมพาพันธ์ ถึงผ่านมาได้ละเนี่ย ลองไล่โค้ดดูก็ถูกนี่น่าลองเขียนใหม่
$date = date_create ('2011-02-31') ;
if (!$date) {
$e = date_get_last_errors () ;
foreach ($e['errors'] as $error) {
echo "$error\n";
}
}
else
{
echo date_format ($date, 'Y-m-d') ;
}
echo'<br />';
try {
$date = new DateTime ('2011-02-31') ;
} catch (Exception $e) {
echo $e->getMessage () ;
exit (1) ;
}
echo $date->format ('Y-m-d') ;
มันแปลงให้เป็น 2011-03-03 ฉลาดมาก…….
สุดท้ายก็เปลี่ยนไปใช้
if (checkdate (02, 31, 2011)) {
echo '<br />ถูกต้องคราบ';
}
else
{
echo '<br />ลองใหม่น่า';
}
จะใช้คำสั่งใหม่ ๆ อะไร ตรวจดูดี ๆ นะครับ อาจจะมีเซอร์ไพรส์
ดูเพิ่มเติม