คลังเก็บบล็อก

ตรวจวันที่ด้วย PHP


ตั้งใจจะใช้คลาส 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 />ลองใหม่น่า';
}

จะใช้คำสั่งใหม่ๆ อะไร ตรวจดูดีๆ นะครับ อาจจะมีเซอร์ไพรส์
ดูเพิ่มเติม

%d bloggers like this: