publicidade

Calculando o Intervalo Entre duas Datas com PHP

Quando estamos criando um sistema, vamos implementando várias funcionalidades de acordo com o tipo de sistema e suas necessidades específicas. Em alguns sistemas há a necessidade de calcular um intervalo entre duas datas, ou seja, o número de dias entre a data inicial e a data final que foram fornecidas. Hoje vamos ver como realizar esse cálculo no PHP.

Começamos criando uma função que será responsável por realizar esse cálculo retornando o número de dias nesse intervalo. Passaremos como parâmetro para a função, as variáveis com a data inicial e a final.

function daysInterval( String $end , String|Null $start = NULL ){

	# Função para calcular a quantidade de
	# dias entre duas datas fornecidas
	# Essa rotina poderia ser usada, por exemplo,
	# para informar quantos dias faltam 
	# para um determinado evento.

}

Aqui verificamos se o parâmetro $start foi passado, senão, atribuímos a ele a data atual.

$start = ( !is_null($start) ) ? $start : date('Y-m-d');

Vamos usar a classe DateTime do PHP para converter a variável $start em um objeto DateTime que permitirá, entre outras coisas, calcular a diferença em dias, entre duas datas.

$date = new DateTime( $start ); ?>

A variável $date, que é uma instância da classe DateTime possui um método que permite calcular a diferença entre $start e $date.

$diff = $date->diff( new DateTime( $end ) ); ?>

Agora recuperamos o número de dias no intervalo.

$interval = $diff->days; 

Agora atribuímos dados às variáveis e fazemos a chamada da função para obter os intervalo de dias:


$start = '2024-01-01';
$end = date('Y-m-d');
$interval = daysInterval( $start, $end );

Tudo pronto, já temos o valor do intervalo disponível na nossa variável, então vamos imprimi-lo na tela.

echo "O intervalo entre $start e $end é de $interval dias"; 

Segue a função completa:

function daysInterval( String $end , String|Null $start = NULL ){

	$start = ( !is_null($start) ) ? $start : date('Y-m-d');

	$date = new DateTime( $start );

	$diff = $date->diff( new DateTime( $end ) );

	$interval = $diff->days;

	return $interval;

} 

Calculando o Intervalo Entre duas Datas com PHP

Quando estamos criando um sistema, vamos implementando várias funcionalidades de acordo com o tipo de sistema e suas necessidades específicas....

publicidade

Deixe um comentário:


Deixe seu comentário. Só serão exibidos comentários ligados ao texto do post. Links serão removidos.

Comentários: