ตั้งใจจะใช้คลาส DateTime ของ php ตรวจความถูกต้องของวันที่ ลองไปลองมา ทำไม 31 กุมพาพันธ์ ถึงผ่านมาได้ละเนี่ย ลองไล่โค้ดดูก็ถูกนี่น่าลองเขียนใหม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $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 ฉลาดมาก…….
สุดท้ายก็เปลี่ยนไปใช้
1 2 3 4 5 6 7 8 | if(checkdate(02, 31, 2011)) { echo '<br />ถูกต้องคราบ'; } else { echo '<br />ลองใหม่น่า'; } |
จะใช้คำสั่งใหม่ๆ อะไร ตรวจดูดีๆ นะครับ อาจจะมีเซอร์ไพรส์
ดูเพิ่มเติม