Como obter a diferença de tempo em minutos em PHP

Minahil Noor 30 janeiro 2023
  1. Utilize date_diff() Função para obter a diferença de tempo em minutos em PHP
  2. Utilize as fórmulas matemáticas para obter a diferença de tempo em minutos em PHP
Como obter a diferença de tempo em minutos em PHP

Neste artigo, vamos introduzir métodos para obter diferença de tempo em minutos em PHP.

  • Utilizando a função date_diff()
  • Usando fórmula matemática

Utilize date_diff() Função para obter a diferença de tempo em minutos em PHP

Utilizaremos a função embutida date_diff() para obter a diferença de tempo em minutos.

Para isso, precisamos de uma data de início e uma data de fim. Calcularemos sua diferença de tempo em minutos utilizando a função date_diff(). A sintaxe correta para utilizar esta função é a seguinte.

date_diff($DateTimeObject1, $DateTimeObject2);

A função integrada date_diff() tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes

Parâmetros Descrição
$DateTimeObject1 obrigatório É um objeto DateTime. Ele representa a data de início.
$DateTimeObject2 obrigatório É também um objeto DateTime, representa a data de término.

Esta função retorna a diferença entre a data de início e a data final de sucesso. Ela retorna FALSO em caso de falha.

O programa abaixo mostra como podemos utilizar a função date_diff() para obter a diferença de tempo em minutos.

<?php 
$dateTimeObject1 = date_create('2019-06-16'); 
$dateTimeObject2 = date_create('2020-06-16'); 
  
$difference = date_diff($dateTimeObject1, $dateTimeObject2); 
echo ("The difference in days is:");
echo $difference->format('%R%a days');
echo "\n";
$minutes = $difference->days * 24 * 60;
$minutes += $difference->h * 60;
$minutes += $difference->i;
echo("The difference in minutes is:");
echo $minutes.' minutes';
?>

A função date_diff() devolveu um objeto que representa a diferença entre duas datas.

Resultado:

The difference in days is:+366 days
The difference in minutes is:527040 minutes

Agora vamos encontrar a diferença entre o tempo.

<?php 
$dateTimeObject1 = date_create('17:13:00'); 
$dateTimeObject2 = date_create('12:13:00'); 
  
$difference = date_diff($dateTimeObject1, $dateTimeObject2); 
echo ("The difference in hours is:");
echo $difference->h;
echo "\n";
$minutes = $difference->days * 24 * 60;
$minutes += $difference->h * 60;
$minutes += $difference->i;
echo("The difference in minutes is:");
echo $minutes.' minutes';
?>

Resultado:

The difference in hours is:5
The difference in minutes is:300 minutes

Utilize as fórmulas matemáticas para obter a diferença de tempo em minutos em PHP

Em PHP, também podemos usar diferentes fórmulas matemáticas para obter diferença de tempo em minutos. O programa que obtém a diferença de tempo em minutos é o seguinte:

<?php
$to_time = strtotime("10:42:00");
$from_time = strtotime("10:21:00");
$minutes = round(abs($to_time - $from_time) / 60,2);
echo("The difference in minutes is: $minutes minutes.");
?>

Resultado:

The difference in minutes is: 21 minutes

Também podemos encontrar a diferença de tempo em minutos usando o seguinte método.

<?php
$start = strtotime('12:01:00');
$end = strtotime('13:16:00');
$minutes = ($end - $start) / 60;
echo "The difference in minutes is $minutes minutes.";
?>

Resultado:

The difference in minutes is 75 minutes.