Cha*_*les 72
您可以使用正则表达式来检查它.
12小时:
preg_match("/^(?:1[012]|0[0-9]):[0-5][0-9]$/", $foo)
Run Code Online (Sandbox Code Playgroud)
24小时:
preg_match("/^(?:2[0-3]|[01][0-9]):[0-5][0-9]$/", $foo)
Run Code Online (Sandbox Code Playgroud)
如果您使用从01:00到24:59的24小时制时钟,请使用
preg_match("/^(?:2[0-4]|[01][1-9]|10):([0-5][0-9])$/", $foo)
Run Code Online (Sandbox Code Playgroud)
T30*_*T30 13
简单的函数,可以在不抛出异常的情况下验证日期(和/或时间).只需传递您期望的格式:
function isValidDate($date, $format = 'Y-m-d') {
$dateObj = DateTime::createFromFormat($format, $date);
return $dateObj && $dateObj->format($format) == $date;
}
Run Code Online (Sandbox Code Playgroud)
该DateTime参数很重要:它用于将输入$format转换为DateTime对象,然后将其转换$format为a DateTime以与输入对象进行比较.
一些用法示例:
/* Valid Examples: */
isValidDate("2017-05-31");
isValidDate("23:15:00", 'H:i:s');
isValidDate("2017-05-31 11:15:00", 'Y-m-d h:i:s');
/* Invalid: */
isValidDate("2012-00-21");
isValidDate("25:15:00", 'H:i:s');
isValidDate("Any string that's not a valid date/time");
Run Code Online (Sandbox Code Playgroud)
Tos*_*kan 12
让我们假设您要检查的时间是$timeStr,并且必须是H:i根据日期规格的格式.使用正则表达式是恕我直言愚蠢.这更容易阅读:
更新
$timeStr = " 02:00"; //example of valid time, note whitespace
test($timeStr);
$timeStr = "23:59"; //valid
test($timeStr);
$timeStr = "24:00"; //invalid
test($timeStr);
$timeStr = "25:00"; //invalid
test($timeStr);
$timeStr = "16:61"; // invalid
test($timeStr);
//tests 23:59 hour format
function test($timeStr){
$dateObj = DateTime::createFromFormat('d.m.Y H:i', "10.10.2010 " . $timeStr);
if ($dateObj !== false && $dateObj && $dateObj->format('G') ==
intval($timeStr)){
//return true;
echo 'valid <br/>';
}
else{
//return false;
echo 'invalid <br/>';
}
}
Run Code Online (Sandbox Code Playgroud)
根据所需的格式验证小时、分钟和秒的函数:
function validTime($time, $format='H:i:s') {
$d = DateTime::createFromFormat("Y-m-d $format", "2017-12-01 $time");
return $d && $d->format($format) == $time;
}
Run Code Online (Sandbox Code Playgroud)
$valid = validTime("23","H");
$valid = validTime("23:59","H:i");
$valid = validTime("23:59:59","H:i:s");
$valid = validTime("23:59:59");
Run Code Online (Sandbox Code Playgroud)
$valid = validTime("25","H");
$valid = validTime("01:60","H:i");
$valid = validTime("01:20:61","H:i:s");
$valid = validTime("01:20:61");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42532 次 |
| 最近记录: |