php中时间日期验证函数

本文章介绍了三个自定义函数,一个日期验证,一个时间验证,一个验证是否为时间和日期的,有需要的同学可以参考.

日期验证格式2011-12-12,代码如下:

  1. function is_date( $str )
  2. {
  3. $YEAR = "";
  4. $MONTH = "";
  5. $DAY = "";
  6. $len = strlen( $str );
  7. $offset = 0;
  8. $i = strpos( $str, "-", $offset );
  9. $YEAR = substr( $str, $offset, $i - $offset );
  10. $offset = $i + 1;
  11. if ( $len < $offset )
  12. {
  13. return FALSE;
  14. }
  15. if ( $i )
  16. {
  17. $i = strpos( $str, "-", $offset );
  18. $MONTH = substr( $str, $offset, $i - $offset );
  19. $offset = $i + 1;
  20. if ( $len < $offset )
  21. {
  22. return FALSE;
  23. }
  24. if ( $i )
  25. {
  26. $DAY = substr( $str, $offset, $len - $offset );
  27. }
  28. }
  29. if ( $YEAR == "" || $MONTH == "" || $DAY == "" )
  30. {
  31. return FALSE;
  32. }
  33. if ( !checkdate( intval( $MONTH ), intval( $DAY ), intval( $YEAR ) ) )
  34. {
  35. return FALSE;
  36. }
  37. return TRUE;
  38. }

时间验证格式11:12:32,代码如下:

  1. function is_time( $str )
  2. {
  3. $TEMP = "";
  4. $HOUR = "";
  5. $MIN = "";
  6. $SEC = "";
  7. $TEMP = strtok( $str, ":" );
  8. $HOUR = $TEMP;
  9. if ( $HOUR == "" || 24 <= $HOUR || $HOUR < 0 || !is_number( $HOUR ) )
  10. {
  11. return FALSE;
  12. }
  13. $TEMP = strtok( ":" );
  14. $MIN = $TEMP;
  15. if ( $MIN == "" || 60 <= $MIN || $MIN < 0 || !is_number( $MIN ) )
  16. {
  17. return FALSE;
  18. }
  19. $TEMP = strtok( ":" );
  20. $SEC = $TEMP;
  21. if ( $SEC == "" || 60 <= $SEC || $SEC < 0 || !is_number( $SEC ) )
  22. {
  23. return FALSE;
  24. }
  25. return TRUE;
  26. }

时间日期验证:2011-12-12 12:12:12,代码如下:

  1. function is_date_time( $DATE_TIME_STR )
  2. {
  3. if ( $DATE_TIME_STR == NULL || strlen( $DATE_TIME_STR ) == 0 )
  4. {
  5. return FALSE;
  6. }
  7. $DATE_TIME_ARRY = explode( " ", $DATE_TIME_STR );
  8. if ( is_date( $DATE_TIME_ARRY[0] ) && is_time( $DATE_TIME_ARRY[1] ) )
  9. {
  10. return TRUE;
  11. }
  12. return FALSE;
  13. }