Php - разница в дате и времени

Мне нужно получить разницу в два Date со временем. Я пробовал кодировать, но это не работает.

HTML СТРАНИЦА

<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;
?>

Я не получаю разницы в дате и времени. Пожалуйста, помогите мне. А также, если возможно, вычислите разницу для типа ввода "datetime-local".

<input type = "datetime-local" name = "datetime">

Название элемента такое же. Поэтому, пожалуйста, измените его или создайте массив. Как planedtime []

Vipul 22.06.2018 08:31

также ответьте на этот вопрос: stackoverflow.com/questions/676824/…

kelvin kantaria 22.06.2018 08:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
2
70
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Попробуй это :-

$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)');

Ссылка: http://php.net/manual/en/datetime.diff.php

Но мне нужно получить дату из HTML-формы. Любая идея

Sri Vathsan 22.06.2018 09:20

Обновите мой ответ

Jagjeet Singh 22.06.2018 09:22

Спасибо, сработало. Я хочу время точно так же.

Sri Vathsan 22.06.2018 09:27

Попробуй это

<?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");
?>

Другие вопросы по теме