Compare datas em PHP

Compare datas em PHP

Os valores de data devem ser comparados no PHP para diferentes fins, como calcular o prazo de uma tarefa e agendar um evento. É mais fácil comparar duas datas de um formato semelhante. Se for necessário para comparar a data de diferentes formatos, os valores da data serão necessários para se converter no mesmo formato usando outras funções PHP integradas antes da comparação. Diferentes maneiras de comparar valores de data em PHP foram mostradas neste tutorial.

Compare datas de formato semelhante

Os valores da data são armazenados como strings no PHP no “AAAA-MM-DD”Formato. Se este valor de data não for atribuído neste formato, a saída errada será gerada. A maneira de comparar duas datas de um formato semelhante foi demonstrada neste tutorial.

Exemplo 1: Compare os valores da data usando uma instrução condicional

Crie um arquivo PHP com o seguinte script que lerá dois valores de data no formato PHP a partir dos parâmetros da URL. Em seguida, imprima a mensagem depois de comparar os valores da data usando uma instrução condicional e operadora de comparação.

// Verifique se os valores da data são passados ​​no parâmetro URL ou não
if (isset ($ _ get ['d1']) e isset ($ _ get ['d2'])))

// Defina o valor da primeira data como uma string
$ dateval1 = $ _get ['d1'];
// Defina o valor da segunda data como uma string
$ dateval2 = $ _get ['d2'];
// Verifique se os valores não estão vazios ou não
se ($ dateval11 != "" e $ dateval2 != "")

// Compare as datas usando o operador de comparação
se ($ dateval11 < $dateVal2)
eco "$ dateval1 é menor que $ dateval2.";
outro
eco "$ dateval1 é maior que $ dateval2.";

outro
// Mensagem de erro de impressão
eco "um ou dois valores de data estão vazios.";

outro
// Mensagem de erro de impressão
eco "um ou mais valores de data estão faltando.";
?>

A saída a seguir será exibida após a execução do script anterior se nenhum valor de data for passado como um parâmetro de URL:

Após a execução do script anterior, a saída a seguir aparecerá se “2022-09-21 e 2022-01-22” forem aprovados no parâmetro URL:

Após a execução do script anterior, a saída a seguir aparecerá se 2022-09-21 e 2022-11-22 ”forem aprovados no parâmetro URL.

Exemplo 2: Compare os valores da data usando o operador ternário

Crie um arquivo PHP com o seguinte script que lerá dois valores de data no formato PHP a partir dos parâmetros da URL. Em seguida, imprima a mensagem depois de comparar os valores da data usando o operador ternário.

// Verifique se os valores da data são passados ​​no parâmetro URL ou não
if (isset ($ _ get ['d1']) e isset ($ _ get ['d2'])))

// Defina o valor da primeira data como uma string
$ dateval1 = $ _get ['d1'];
// Defina o valor da segunda data como uma string
$ dateval2 = $ _get ['d2'];
// Verifique se os valores não estão vazios ou não
se ($ dateval11 != "" e $ dateval2 != "")
// Compare os valores da data
eco $ dateval11 < $dateVal2 ? "$dateVal1 is less than $dateVal2." : "$dateVal1 is greater than $dateVal2.";
outro
// Mensagem de erro de impressão
eco "um ou dois valores de data estão vazios.";

outro
// Mensagem de erro de impressão
eco "um ou mais valores de data estão faltando.";
?>

Após a execução do script anterior, a saída a seguir aparecerá se "2022-08-25 e 2022-11-22" forem aprovados no parâmetro URL:

Compare objetos de data de formatos semelhantes ou diferentes

A maneira de comparar os objetos da data dos mesmos ou diferentes formatos foi demonstrada nesta parte do tutorial.

Exemplo 3: Compare os objetos da data de formato semelhante

Crie um arquivo php com o seguinte script para criar dois objetos de data de formatos semelhantes usando o Data hora aula. Em seguida, a declaração condicional foi usada para comparar as datas.

// atribui o objeto de primeira data
$ dateVal1 = new DateTime ("21 de maio de 2022");
// atribui o objeto da segunda data
$ dateVal2 = new DateTime ("16 de dezembro de 2022");
// Compare os valores da data usando o operador de comparação
if ($ dateval1> $ dateval2)
eco date_format ($ dateval1, "d-m-y"), "é maior que", date_format ($ dateval2, "d-m-y"), ".";
outro
eco date_format ($ dateval1, "d-m-y"), "é menor que", date_format ($ dateVal2, "d-m-y"), ".";
?>

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

Exemplo 4: Compare objetos de data de diferentes formatos

Crie um arquivo php com o seguinte script para criar dois objetos de data de diferentes formatos usando o Data hora aula. Em seguida, a declaração condicional foi usada para comparar as datas.

// A data do evento de verificação está definida ou não
if (isset ($ _ get ['ed'])))

se ($ _ get ['ed'] != "")

// Leia a data atual
$ Today = new DateTime ();
// Leia a data do evento no parâmetro URL
$ eventdate = new DateTime ($ _ get ['ed']);
// Calcule a diferença entre as datas
$ diferença = $ Today-> diff ($ eventDate);
/*
Um número positivo será devolvido
Se a data do evento for maior que a data atual
*/
if ($ diferença-> formato ("%r%a")> 0)
eco "o evento está chegando", $ diferença-> dias, "dias.";
outro
eco "O evento foi organizado antes", $ diferença-> dias, "dias.";

outro
// Mensagem de erro de impressão
eco "a data do evento está vazia.";

outro
// Mensagem de erro de impressão
eco "a data do evento está faltando.";
?>

Após a execução do script anterior, a saída a seguir aparecerá se nenhum valor de data for passado como um parâmetro de URL:

Após a execução do script anterior, a saída a seguir aparecerá se "2022-10-15" for passado no parâmetro URL:

Após a execução do script anterior, a saída a seguir aparecerá se "2022-01-15" for passado no parâmetro URL:

Exemplo 5: Compare objetos de data de diferentes formatos usando a função date_create ()

Crie um arquivo php com o seguinte script para criar dois objetos de data de diferentes formatos usando o date_create () função. Em seguida, a declaração condicional foi usada para comparar as datas.

// Atribua a primeira data usando a função date_create ()
$ dateval1 = date_create ("30-10-2022");
// Atribua a segunda data usando a função date_create ()
$ dateval2 = date_create ("16 de dezembro de 2022");
// Compare os valores de data de formato diferente
if ($ dateval1> $ dateval2)
echo $ dateval1-> formato ("d m y"), "é maior que", $ dateval2-> formato ("d m y"), ".";
outro
echo $ dateval1-> formato ("d m y"), "é menor que", $ dateval2-> formato ("d m y"), ".";
?>

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

Compare os valores da data com base nos valores de carimbo de data / hora

A maneira de comparar valores de data com base nos valores de registro de data e hora foi mostrada no exemplo a seguir:

Exemplo 6: Compare datas usando a função strtotime ()

Crie um arquivo PHP com o seguinte script que comparará dois valores de data convertendo as datas nos valores de registro de data e hora:

// define dois valores de data da string
$ dateval1 = "2022-01-01";
$ dateval2 = "2022-06-30";
// Compare os valores de data e hora das datas
if (strtotime ($ dateval1) < strtotime($dateVal2))
eco "$ dateval1 é menor que $ dateval2.";
outro
eco "$ dateval1 é maior que $ dateval2.";
?>

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

Conclusão

Diferentes maneiras de comparar dois valores de data de formatos semelhantes ou diferentes foram mostrados neste tutorial. Os usuários de PHP podem seguir qualquer método para comparar os valores da data com base em seus requisitos.