Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么要将php datetime对象与比较运算符进行比较_Php - Fatal编程技术网

为什么要将php datetime对象与比较运算符进行比较

为什么要将php datetime对象与比较运算符进行比较,php,Php,php使用大于的比较运算符比较两个dateTime对象。下面给出了代码 $date1=new DateTime("07-03-2010"); $date2=new Datetime("21-09-2015"); if($date1>$date2) { echo "two datetime object has compared"; } 上面的代码给出了正确的结果。我的问题是如何将两个Datetime对象与php中的比较运算符进行比较

php使用大于的比较运算符比较两个dateTime对象。下面给出了代码

    $date1=new DateTime("07-03-2010");
    $date2=new Datetime("21-09-2015");
    if($date1>$date2)
    {
       echo "two datetime object has compared";
     }
上面的代码给出了正确的结果。我的问题是如何将两个Datetime对象与php中的比较运算符进行比较:

内置类可以定义自己的比较

:

内置类可以定义自己的比较

DateTime是内置的,可以重载运算符。这在PHP中是不可能的…现在

我认为相关的行是。

DateTime是一个内置的,可以重载操作符。这在PHP中是不可能的…现在


我认为相关的行是。

实际上在PHP中,当我们将日期存储在变量中时,它不会以任何格式存储。而是以秒为单位存储,即给定日期和PHP定义的参考日期之间的差值。我不太记得参考日期,你可以用谷歌搜索一下

所以,当你比较日期时,它实际上是比较秒数

看看这个,


实际上在PHP中,当我们将日期存储在变量中时,它不会以任何格式存储。而是以秒为单位存储,即给定日期和PHP定义的参考日期之间的差值。我不太记得参考日期,你可以用谷歌搜索一下

所以,当你比较日期时,它实际上是比较秒数

看看这个,


上面的代码不打印任何内容。第一个对象输出不大于第二个对象输出。将比较所有对象属性。因为只有公共“date”是不同的,所以将它作为一个字符串进行比较。因此,它将字符串“2010-03-07 00:00:00”与字符串“2015-09-21 00:00:00”@RoyalBg进行了比较,这不是真的。尝试将$date1与字符串07-03-2010进行比较-它不会给出任何上述代码。第一个对象输出不大于第二个对象输出。将比较所有对象属性。因为只有公共“date”是不同的,所以将它作为一个字符串进行比较。因此,它将字符串“2010-03-07 00:00:00”与字符串“2015-09-21 00:00:00”@RoyalBg进行了比较,这不是真的。尝试将$date1与字符串07-03-2010进行比较-它会给出FALSE为什么会这样:如果$date1>ZZ-ZZ-ZZ给出true?使用OP示例中的$date1。是的,可能它们都被强制转换为INT。为什么:如果$date1>ZZ-ZZ-ZZ为真?使用OP示例中的$date1。是的,可能它们都强制转换为intmktime不会返回DateTime对象。mktime不会返回DateTime对象。