相关疑难解决方法(0)

PHP DateInterval是否与DateTime相当?

我发现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';
}
Run Code Online (Sandbox Code Playgroud)

它总是呼应"只是一个测试".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)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用DateTime作为"01-03-2012"时,一切正常.

php datetime dateinterval

27
推荐指数
4
解决办法
1万
查看次数

标签 统计

dateinterval ×1

datetime ×1

php ×1