【发布时间】:2012-03-03 16:50:25
【问题描述】:
我发现 PHP 中的 DateTime 对象可以与另一个对象进行比较,因为 ">" 和 "
和DateInterval一样吗?
当我试图回答这个问题时,我发现了一些奇怪的东西:
<?php
$today = new DateTime();
$release = new DateTime('14-02-2012');
$building_time = new DateInterval('P15D');
var_dump($today->diff($release));
var_dump($building_time);
var_dump($today->diff($release)>$building_time);
var_dump($today->diff($release)<$building_time);
if($today->diff($release) < $building_time){
echo 'oK';
}else{
echo 'Just a test';
}
它总是呼应“只是一个测试”。 var_dump 输出为:
object(DateInterval)#4 (8) {
["y"]=>
int(0)
["m"]=>
int(0)
["d"]=>
int(18)
["h"]=>
int(16)
["i"]=>
int(49)
["s"]=>
int(19)
["invert"]=>
int(1)
["days"]=>
int(18)
}
object(DateInterval)#3 (8) {
["y"]=>
int(0)
["m"]=>
int(0)
["d"]=>
int(15)
["h"]=>
int(0)
["i"]=>
int(0)
["s"]=>
int(0)
["invert"]=>
int(0)
["days"]=>
bool(false)
}
bool(false)
bool(true)
当我尝试将 DateTime 设置为“01-03-2012”时,一切正常。
【问题讨论】:
标签: php datetime dateinterval