Управление выводом времени POST в PHP LARAVEL

Работая над умным тайм-менеджер, информация, отправленная через форму, я хотел бы преобразовать вывод времени формы, захваченный с помощью:

public function getFormOutput(Request $request) 
{
    $request->except('_token');
    $startTimeInput = $request->input('starttime');
    $endTimeInput = $request->input('endtime');
    $breakTimeInput = $request->input('breaktime');
}

Здесь нет проблем, значения форматируются как "хх:хх"


Сейчас я пытаюсь рассчитать разницу во времени между startTime и endTime.

Использование strtotime() как это не работает:

$startTime = strtotime($startTimeInput);
$endTime = strtotime($endTimeInput);

Они оба приняли значение:

1552550400

Кажется, это время 1 января 1970 года в миллисекундах.


Вот мой вид timeManager.blade.php:

{!! Form::open(['url'=>'agenda']) !!}
      {!! Form::label('starttime', 'Heure de début: ') !!}
      {!! Form::input('time', 'starttime') !!}
      <tr>
      {!! Form::label('endtime', 'Heure de fin: ') !!}
      {!! Form::input('time', 'endtime') !!}
      <tr>
      {!! Form::label('breaktime', 'Temps de pause: ') !!}
      {!! Form::input('time', 'breaktime') !!}
      <tr>
      {!! Form::submit('Envoyer' ) !!}
{!! Form::close() !!}

Мой вопрос: как рассчитать разницу между временем начала и временем окончания?

какой у Вас вопрос?? Пожалуйста, укажите ожидаемый результат, который вы хотите

Inzamam Idrees 14.03.2019 10:32

Разница между двумя временами в минуты или секунды или часы??

Inzamam Idrees 14.03.2019 10:42
Стоит ли изучать 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 и хотите разрабатывать...
0
2
242
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Попробуйте этот код для расчета разница во времени:

1-й метод:

// calculate the start timestamp
$startdatetime = strtotime($startTimeInput);
// calculate the end timestamp
$enddatetime = strtotime($endTimeInput);
// calulate the difference in seconds
$difference = $enddatetime - $startdatetime;
// hours is the whole number of the division between seconds and SECONDS_PER_HOUR
$hoursDiff = $difference / 3600;
// and the minutes is the remainder
$minutesDiffRemainder = $difference % 3600;
// output the result
echo $hoursDiff . "hours " . $minutesDiffRemainder . "mins";

2-й метод:

$datetime1 = new DateTime($startTimeInput);
$datetime2 = new DateTime($endTimeInput);
$interval = $datetime1->diff($datetime2);
echo $interval->format('%Y years, %M months, %D days, %I minutes, %S seconds');

Я надеюсь, что это будет полезно.

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