我有一个php变量,其中包含日期时间值,如2014-05-11 23:10:11
,有时这可能会改变,所以我必须找到它有或没有日期时间值,下面是我的变量
$my-variable='2014-08-26 18:25:47';
答案 0 :(得分:1)
DateTime
是PHP中的一个类。如果要验证字符串,您应该问一个不同的问题。验证DateTime
实例:
$my_variable instanceof DateTime
答案 1 :(得分:0)
$my_variable='2014-08-26 18:25:47';
...
if ($my_variable instanceof DateTime) {
...
}
或
if (is_a($my_variable, 'DateTime')) {
...
}
答案 2 :(得分:0)
如果它是一个表示日期的字符串,你可以使用date_parse:http://php.net/manual/en/function.date-parse.php这将返回一个关联数组,其中包含日期和时间字符串的部分(如果有效),否则返回FALSE。
如果它是日期时间对象,请参阅描述instanceOf
的答案。
答案 3 :(得分:0)
这应该可以帮助您检查字符串是否是您格式的有效日期时间:
<?php
$date = '2014-08-26 18:25:47';
function isTime($time) {
if (preg_match("/^([1-2][0-3]|[01]?[1-9]):([0-5]?[0-9]):([0-5]?[0-9])$/", $time))
return true;
return false;
}
$parts = explode(" ", $date);
list($y, $m, $d) = explode("-", $parts[0]);
if(checkdate($m, $d, $y) && isTime($parts[1]) ){
echo "OK";
} else {
echo "BAD";
}
?>
输出:
OK