如何检查php变量有datetime值?

时间:2014-12-20 06:32:19

标签: php

我有一个php变量,其中包含日期时间值,如2014-05-11 23:10:11,有时这可能会改变,所以我必须找到它有或没有日期时间值,下面是我的变量

$my-variable='2014-08-26 18:25:47';

4 个答案:

答案 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