国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

提交包含兩個(gè)日期欄位的表單並在 PHP 中使用 date_diff() 時(shí)出錯(cuò)
P粉817354783
P粉817354783 2023-09-13 23:39:55
0
1
608

大家好,我正在提交一個(gè)包含兩個(gè)欄位「time_in」和「time_out」的表單

我試著用 date_diff() 來(lái)取得兩個(gè)日期之間的差異 我確保資料庫(kù)中的 time_in 是 DATE 共振峰和 time_out DATE 格式,並且兩者都不是字串

我收到此錯(cuò)誤:致命錯(cuò)誤:未捕獲類型錯(cuò)誤:date_diff0:參數(shù)#1 (SbaseObject) 必須為DateTimeInterface 類型,字串在C:\ampp\htdocs\aicAdmin\scripts\backend-script.php: 97Stack 中給出追蹤:#0 C:ilxampp\htdocs\aicAdmin\scripts\backend-script.php(97):date_diff(°2023-05-19,2023-05-23#1(main) throwinC:\xampp\htdocs\aicAdmin\scripts\backendend -script.phponline97

而我的程式碼是

<div class="col">
            <div class="form-group">
                <input type="date"  class="form-control"  placeholder="Enter Time in" name="time_in" value="<?php echo $time_in; ?>">
            </div>
        </div> 

    <div class="col">
            <div class="form-group">
                <input type="date"  class="form-control"  placeholder="Enter Time out" name="time_out" value="<?php echo $time_in; ?>">
            </div>
        </div>

以及後端程式碼

if(empty($_GET['id']) && !empty($_GET['name']) && $_GET['name']=='current_job'){
   extract($_POST);
  if(!empty($jobnumber)){
   

      $data= [
        'jobnumber'=>$jobnumber,
       'revison' =>$revison,
       'groupp'=>$groupp,
       'checker'=>$checker,
       'releasedate'=> $releasedate,
       'quote_number'=> $quote_number,
       'building_number'=>$building_number,
       'task'=>$task,
       'designer_ca'=>$designer_ca,
       'designer_name'=>$designer_name,
       'time_in'=>$time_in,
       'time_schedule'=>$time_schedule,
       'time_out'=>$time_out,
       'spent_time'=>date_diff($time_out,$time_in),   
       'quote_weight'=>$quote_weight,
       'job_weight'=>$job_weight,
       'cycle_time'=>$cycle_time,
       'chk_time'=>$chk_time,
       'wd'=>$wd,
       'remarks'=>$remarks

       
     ];
  

    $tableName=$_GET['name']; 

    if(!empty($data) && !empty($tableName)){
       $insertData=insert_data($data,$tableName);
       if($insertData){
         echo "<span class='success'>Current Job Was saved sucessfully</span>";
       }else{
         echo "<span class='fail'>Error!.. check your query</span>";
       }
    }

}else{
  echo "<span class='fail'>Current Job field is empty</span>";
}

}

我沒(méi)有複製整個(gè)表單程式碼,只是複製了一個(gè)片段 我該如何解決這個(gè)問(wèn)題? ?

我仔細(xì)檢查了資料庫(kù)中的 time_in 和 time_out 是否儲(chǔ)存為 DATE 格式,我希望一切正常工作

P粉817354783
P粉817354783

全部回覆(1)
P粉966979765

這裡沒(méi)有足夠的資訊來(lái)真正回答這個(gè)問(wèn)題。

但從錯(cuò)誤來(lái)看,問(wèn)題似乎是您的 time_in 和 time_out 不是 DateTime 物件。

您必須先透過(guò) DateTime:CreateFromFormat 推送它們。 這將使它們成為 DateTime 物件。 然後 date_diff 將為您提供一個(gè)仍然無(wú)法乾淨(jìng)地儲(chǔ)存在資料庫(kù)中的 DateInterval 物件。

考慮利用 unix 紀(jì)元時(shí)間戳記。

$datetime_in = DateTime::createFromFormat('h:i a', $form_time_in); 
$datetime_out = DateTime::createFromFormat('h:i a', $form_time_out);
$seconds_elapsed = $datetime_out->format('U') - $datetime_in->format('U');

注意:“h:i a”需要格式“1:30 am”,請(qǐng)參閱其他選項(xiàng) 這裡。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板