检索错误ate_diff()要求参数2为DateTimeInterface

时间:2017-09-09 20:07:39

标签: php html php-5.3

我首先要说的是,我已经查看了之前给出答案的线程,但是在实施解决方案时。我收到了以下回复。对于与此问题相关的任何类型的响应,我将非常感激。

                  **Project description:**

我已经分配了一项任务,用于计算当前日期与万圣节剩余天数之间的时差,用户使用过帐请求输入日期。

                         Fault codes
  • 警告:date_diff()要求参数2为DateTimeInterface,在

  • 中给出null
  • 致命错误:在

    中的非对象上调用成员函数format()
            **Html code:**
    
    
    
    <!DOCTYPE HTML>
    <html>
    <head>
        <title>Hallowen kalkylering</title>
        <meta charset="UTF-8" />
        <meta keywords="Hallowen, kalkylera" />
        <link rel="stylesheet"  href="stil.css">
    
    </head>
    <style>
        id {
            text-align: center;
        }
        button {
            position: absolute;
            top: 50%;
        }
    </style>
    <body>
        <body background="https://s3-us-west-2.amazonaws.com/i.cdpn.io/328575.rrRQYW.2f211232-53fc-4b59-952f-baf9951e2cba.png">
    
        <div id="title">
            <h1 style="text-align: center; color: red;">Kalkylera dagar till Hallowen</h1>
    
        </div>
    
        <div id="Formular" class="formular">
            <form action="Kalkyl.php" method="POST">
                <center><label style="" for="idag">Dagens datum</label>
    

                    
                    Närärsumlowen?                       

    </body>
    

                                 PHP代码:

    <!DOCTYPE html>
    

                 Dagar kvar         

    </head>
    <body>
        <center><p> Nedräknare </p></center>
        <?php 
    
    
    
    
        echo "<center>$idagny</center>";
    
        "<br>";
    
        echo "<center> men mamma hur många dagar är det kvar till hallowen?</center>" ;
    
         "<br>";
         $idag = $_POST["idag"];
    
    
    
         $idagny = new datetime("2017/10/20");
         $Hallowendatum = new datetime("2017/10/31");
    
         $dagarkvar = date_diff($idagny,$hallowendatum);
    
         echo $dagarkvar->format("%R%a days");
    
         "<br>"
    
    
    
    
        ?>
    
    
    
    </body>
    

最诚挚的问候,

大卫

1 个答案:

答案 0 :(得分:2)

$ Hallowendatum与$ hallowendatum不同。它们应该具有相同的大写字母。

此外,由于date_diff在失败时将返回false,因此在您的代码中检查它是明智的。有某种错误处理而不是让PHP致命