Calcule a diferença de data em PHP

Calcule a diferença de data em PHP
A diferença entre as duas datas pode ser calculada de várias maneiras usando um script PHP. O valor da data pode ser gerado por a data() função e o Data hora classe de php. A diferença de data pode ser calculada usando a função interna do PHP ou sem nenhuma função interna. O date_diff () A função é usada para calcular a diferença entre duas datas quando os valores de data do mesmo formato são criados usando o date_create () função. O diff () o método é usado para calcular a diferença entre duas datas, que são criadas usando o datetime aula. Diferentes maneiras de calcular a diferença de data no PHP são fornecidas neste tutorial.

Calcule a diferença de data com base nos valores de registro de data e hora

A função strTotime () retorna o valor de data e hora da data fornecida no primeiro argumento desta função. A maneira de calcular a diferença entre as datas foi mostrada nesta parte do tutorial:

Exemplo 1: Imprima a diferença entre duas datas com base no registro de data e hora
Crie um arquivo PHP com o seguinte script para calcular a diferença entre a data atual e uma data específica. A função STRTOTIME () foi usada no script para gerar os valores de registro de data e hora de ambas as datas, e o valor da subtração desses valores de registro de data e hora foi convertido em dias.

// Defina a data atual
$ Today = Date ('Y-M-D');
// atribui uma data no formato 'y-d-d'
$ FUTUREDATE = "2022-09-30";
// Calcule a diferença de data com base nos valores de registro de data e hora
$ diferença = strTotime ($ FUTUREDATE) - STRTOTIME ($ Today);
// Calcule a diferença nos dias
$ dias = abs ($ diferença/(60 * 60)/24);
// Imprima a diferença de data nos dias
eco "

A diferença entre ".$ hoje." e ".$ futureado." é ".$ dias." dias.

";
?>

A saída a seguir aparecerá após a execução do script anterior:

Calcule a diferença de data usando a função date_diff ()

O date_diff () é uma função interna do PHP para calcular a diferença entre duas datas. A sintaxe desta função é fornecida abaixo:

Sintaxe

date_diff ($ objdate1, $ objdate2);

Esta função leva dois objetos de data como os valores de argumento obrigatório e retorna a diferença entre esses objetos de data no sucesso ou false na falha. O uso desta função foi mostrado abaixo.

Exemplo 2: Imprima a diferença entre duas datas usando a função date_diff ()
Crie um arquivo php com o seguinte script para calcular a diferença entre a data atual e uma data específica que será criada usando a função date_create (). A função date_diff () foi usada no script para calcular a diferença entre dois objetos de data. Em seguida, o método format () foi usado para imprimir a diferença com a formatação. O valor positivo será retornado pela função date_diff () quando a primeira data for maior que a segunda data. Caso contrário, o valor negativo será devolvido.

// Crie o objeto de primeira data que atribuirá a data atual
$ dateVal1 = date_create ();
// Crie o objeto da segunda data que atribuirá uma data específica
$ dateval2 = date_create ('29 set 2022 ');
// Calcule o intervalo desde a primeira data até a segunda data
$ IVAL = DATE_DIFF ($ DATEVAL2, $ DATEVAL1);
// Imprima a saída
eco "a diferença de ".$ dateval1-> formato ('d-m-y')."-".$ dateval2-> formato ('d-m-y') . " é ". $ ival-> formato ('%r%a dias')."
";
// Calcule o intervalo da segunda data até a primeira data
$ ival = date_diff ($ dateVal1, $ dateVal2);
// Imprima a saída
eco "a diferença de ".$ dateval2-> formato ('d-m-y')."-".$ dateval1-> formato ('d-m-y') . " é ". $ ival-> formato ('%r%a dias')."
";
?>

A saída a seguir aparecerá após a execução do script anterior:

Calcule a diferença de data usando a classe DateTime

O método dif. () da classe DateTime é outra maneira de calcular a diferença entre dois objetos de data. O uso deste método foi mostrado aqui.

Exemplo 3: Imprima a diferença entre duas datas usando o método format () da classe DateTime
Crie um arquivo PHP com o seguinte script que calculará a diferença entre duas datas que serão criadas usando a classe DateTime. O método dif. () desta classe foi usado no script para calcular a diferença entre dois objetos de data. O método Format () desta classe tem sido usado para imprimir a diferença entre as datas com a formatação.

// Crie o objeto de primeira data
$ dateVal1 = new DateTime ('30 de dezembro de 2022 ');
// Crie o objeto da segunda data
$ dateVal2 = new DateTime ('2022-10-30');
// Calcule a diferença
$ ival = $ dateval2-> diff ($ dateVal1);
// Imprima o valor da diferença
eco "

A diferença de data é ". $ ival-> formato ('%y anos.').",".$ ival-> formato ('%m meses').", e ".$ ival-> formato ('%d dias.'). "

";
?>

A saída a seguir aparecerá após a execução do script anterior:

Exemplo 4: Imprima a diferença entre duas datas sem usar o método format () da classe DateTime
Crie um arquivo PHP com o seguinte script que calculará a diferença entre duas datas que serão criadas usando a classe DateTime. O método dif. () desta classe foi usado no script para calcular a diferença entre dois objetos de data. Os valores formatados de ano, mês e dia serão impressos usando as propriedades do objeto de intervalo nomeado $ IVAL.

// Crie o objeto de primeira data
$ dateVal1 = new DateTime ('5 de novembro de 2022');
// Crie o objeto da segunda data
$ dateVal2 = new DateTime ('2022-10-31');
// Calcule a diferença
$ ival = $ dateval2-> diff ($ dateVal1);
// Imprima o valor da diferença
eco "

A diferença de data é ". $ ival-> y.' anos, '.$ IVAL-> M.' meses, '.$ IVAL-> D.' dias'. "

";
?>

A saída a seguir aparecerá após a execução do script anterior:

Exemplo 5: Calcule a idade com base na data de nascimento e na data atual
Crie um arquivo php com o script a seguir para calcular a idade de uma pessoa com base na data atual e na data de nascimento usando a classe DateTime e o método dif ():

// Crie o objeto de primeira data
$ birthdate = new DateTime ('16 de dezembro de 2006 ');
// Crie o objeto da segunda data
$ currentDate = new DateTime ();
// Calcule a diferença
$ ival = $ birthdate-> diff ($ currentDate);
// Imprima a data de nascimento
eco "

Sua data de nascimento é ". $ birthdate-> formato ('d m, y').".

";
// Imprima o valor da diferença
eco "

Sua idade é agora, ". $ ival-> y.' anos, '.$ IVAL-> M.' meses, '.$ IVAL-> D.' dias.'. "

";
?>

A saída a seguir aparecerá após a execução do script anterior:

Conclusão

A diferença entre as duas datas é necessária para resolver diferentes problemas de programação. Diferentes maneiras de calcular a diferença entre duas datas foram mostradas neste tutorial usando vários exemplos. Espero que este tutorial ajude os usuários do PHP a encontrar a diferença entre duas datas corretamente depois de ler este tutorial.