这是一个有效的PHP日期相等检查吗?

时间:2014-05-30 15:57:21

标签: php datetime

这是一个有效的PHP日期相等检查吗?

$zeroDate = date("0000-00-00 00:00:00");

if( date($someOtherDateString)==$zeroDate ) {
// . . . 
}

2 个答案:

答案 0 :(得分:2)

我比测试日期时间的字符串更容易测试真实的日期/时间值。

我有两种测试日期质量的基本方法。第一个是:变量是否相等(就像你上面的曲目,但不是字符串测试)。第二个是:日期之间是否存在非零差异?

试试这个:

// convert strings to time
$zeroDate = strtotime("0000-00-00 00:00:00");
$someOtherDate = strtotime("0000-00-00T00:00:00-00:00");

// sanity check on the data
var_dump($zeroDate);
var_dump($someOtherDate);

// Approach #1
if ($someOtherDate === $zeroDate) {
    print "They are equal\n";
} else {
    print "They are not equal\n";
}

// Approach #2
if (($someOtherDate - $zeroDate) === 0) {
    print "They are still equal\n";
} else {
    print "There are not equal\n";
}

希望这有帮助!

答案 1 :(得分:1)

No.使用Unix时间戳代替获取整数:

$zeroDate = date('U', "0000-00-00 00:00:00");

if( date('U', $someOtherDateString)===$zeroDate ) {
// . . . 
}