ตั้งใจจะใช้คลาส 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 />ลองใหม่น่า';
}
จะใช้คำสั่งใหม่ๆ อะไร ตรวจดูดีๆ นะครับ อาจจะมีเซอร์ไพรส์
ดูเพิ่มเติม