Php 计算两个日期之间的差值

Php 计算两个日期之间的差值,php,date,Php,Date,我想计算两个php日期之间的差异。但我得到了以下错误: 注意:未定义变量:第68行C:\wamp\www\HR version 1.3\applicator\u Workdetails.php中的差异 我还想知道用这种方法计算差异是否是最好的做法 if (isset($_GET['success']) && empty($_GET['sucess'])) { echo 'Submitted Successfully' . ' '; printf("%d years

我想计算两个php日期之间的差异。但我得到了以下错误:

注意:未定义变量:第68行C:\wamp\www\HR version 1.3\applicator\u Workdetails.php中的差异

我还想知道用这种方法计算差异是否是最好的做法

if (isset($_GET['success']) && empty($_GET['sucess'])) {
    echo 'Submitted Successfully' . ' ';
    printf("%d years, %d months, %d days\n", $difference->y, $difference->m, $difference->d);  //This is line 68
} else {
    if (empty($_POST) === false && empty($errors) === true) {

        $startdate = $_POST['StartDate'];
        $enddate = $_POST['EndDate'];
        $datetime1 = new DateTime($startdate);
        $datetime2 = new DateTime($enddate);
        $difference = $datetime1->diff($datetime2);

        //Submit Workdetails to the database
        $personal_workdetails = array(
            'IndustryName' => $_POST['IndustryName'],
            'Occupation' => $_POST['Occupation'],
            'Position' => $_POST['Position'],
            'Job_description' => $_POST['Job_description'],
            'StartDate' => $startdate,
            'EndDate' => $enddate,
            'Personid' => $Personid,
            'Jobid' => $jobid);
        personal_workdetails($personal_workdetails);
        //redirect
        header('Location: Applicant_workdetails.php?success');
        exit();
    } else if (empty($errors) === false) {
        //output errors if the errors array is not empty
        echo output($errors);
    }
}

我看不出$difference是在哪里产生的,你能把整个文件都贴出来让我看看问题出在哪里吗

您使用$difference的printf(),但该变量仅在“C:\wamp\www\HR version 1.3\applicator\u Workdetails.php”的第68行之后声明(据我所知)。

您使用的是一个未定义的变量。可能是加减什么的。我们很难找到,因为我们不知道您发布的代码的哪一部分

但是只要按照指示去做就行了。PHP已经明确了错误所在。

您可以使用


那么(在这行之前)你到底在哪里定义$difference呢?请阅读问题,而不仅仅是标题。
  $datetime1 = new DateTime("$start_date");
  $datetime2 = new DateTime("$end_date");
    $interval = $datetime1->diff($datetime2);
    echo "Result " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";