-2

I need to get the difference of two Date with time. I have tried to code but it doesn't work.

HTML PAGE

<div class="col-xs-3 ">
<input type="date" class="form-control" name="planeddate">
</div> 
<div class="col-xs-3 ">
<input type="date" class="form-control" name="actualdate">
</div> 
<div class="col-xs-3 ">
<input type="time" class="form-control" name="planedtime">
</div> 
<div class="col-xs-3 ">
<input type="time" class="form-control" name="actualtime">
</div> 

PHP

<?php
include "connect.php"
$con=mysqli_connect("$host", "$username", "$password","$db_name")or die("Your Connection is in error");
$planeddate=date('Y-m-d', strtotime($_POST['planeddate']));
$actualdate=date('Y-m-d', strtotime($_POST['actualdate']));
$planedtime=$_REQUEST['planedtime'];
$actualtime=$_REQUEST['actualtime'];
$diff =date_diff($actualdate,$planeddate); 
echo $diff->format("%R%a days");
$time_diff = $actualtime - $planedtime;
echo $time_diff;
?>

I am not getting both date and time differences. Please help me out. And also calculate the difference for the input type "datetime-local" if possible.

<input type="datetime-local" name="datetime">
Alex197
  • 853
  • 2
  • 10
  • 25

2 Answers2

0

Try this :-

$planeddate = date('Y-m-d', strtotime($_POST['planeddate']));
$actualdate = date('Y-m-d', strtotime($_POST['actualdate']));

$datetime1 = new DateTime($planeddate);
$datetime2 = new DateTime($actualdate);

$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

$time1 = new DateTime('09:00:59');
$time2 = new DateTime('09:01:00');

$interval = $time1->diff($time2);
echo $interval->format('%s second(s)');

Ref: http://php.net/manual/en/datetime.diff.php

Jagjeet Singh
  • 1,564
  • 1
  • 10
  • 23
0

Try This

<?php
$planed_date_time = $_POST['planeddate'].' '.$_POST['planedtime'];
$actual_date_time = $_POST['actualdate'].' '.$_POST['actuatime'];

$planed = new DateTime($planed_date_time);
$actual = new DateTime($actual_date_time);

echo $actual->diff($planed)->format("%d days, %h hours, %i minutes, %s seconds");
?>
dzinampini
  • 89
  • 1
  • 5