Criando uma função que verificar expiração de uma data

Recebi um dúvida do Dymmer Kellson , sobre um questão interessante. Ele precisava criar uma forma de informar uma data para geração de um boleto, sendo que esse botão para gerar esse boleto precisaria ficar ativo até 15 dias após dessa data, depois a pessoa não poderia mais emitir esse boleto.

Podemos utilizar a função chamada strtotime para podermos informar um intervalo de tempo em forma de texto, e com isso acrescentar dias, meses, etc.

Vamos criar uma função que abstrai essa questão, abaixo estará o código-fonte já comentado para facilitar o entendimento:

date.php

< ?php

/**
 * Definimos uma função chamada isDateExpired
 * O parâmetro $dateStart recebe a data de inicio, no formato YYYY-mm-dd
 * O parâmetro $days recebe os dias acrescentados na data que informamos
 */
function isDateExpired($dateStart, $days){
	//Aqui geramos um timestamp da data atual
	$timestampNow     = strtotime('now');
	/**
	 * Agora convertemos a data inicial em timpestamp strtotime($dateStart)
	 * Depois acrescentamos os dias nessa data convertida (+{$days} day)
	 */
	//, e acrescentamos os dias
	$timestampExpired = strtotime("+{$days} day", strtotime($dateStart));
	/**
	 * Agora fazemos uma verificação, 
	 * se data de expiração for maior que hoje, 
	 * retorna verdadeiro, senão falso
	 */
	return ( $timestampExpired > $timestampNow) ? true :  false;

}
?>

Utilizando a função:

< ?php
//Inclui a função
include('date.php');

//informa a data , e os dias que vão ser acrescidos
if(isDateExpired('2013-01-15', 15)){
  echo 'Seu boleto está ativo';
}else{
   echo 'Boleto Inativo';
}
?>

Espero que tenham gostado, e até uma próxima.




Se o conteúdo foi relevante para você, e desejar, você pode incentivar fazendo uma doação.

Publicado em PHP

6 thoughts on “Criando uma função que verificar expiração de uma data

  1. Muito bom, me ajudou em um projeto que estou desenvolvendo.

    Porém não sei mais oq fazer no projeto referente a outro erro…
    Não sei se é uma instrução sql q nao sei usar…

    Cara ve se consegue me ajudar…
    Seguinte to terminando um site para uma imobiliária, a parte de gerenciamento
    está toda certa, só estou me enrolando para fazer o sistema de pesquisa por filtro
    no site na busca avançada, a simples consegui fazer.
    O problema é que a função que aprendi não esta dando certo quando tento fazer o filtro avançado.
    Ex: Até a parte de Finalidade está filtrando corretamente, mas quando vou para Categoria a função pega
    varias categorías que nao se enquadram nos parámetros dos outros selects.
    To aguniado ja :/

    Site: http://www.silverioimoveis.com

    Obrigadão.

    1. @Henrique, vc tem uma data já definida, vc pode fazer algo assim:

      $dataExpirar = '2015-05-02';
      $converteTimestamp = strtotime($dataExpirar);
      $hojeTimeStamp     = strtotime('now');
      
      if($hojeTimeStamp > $converteTimestamp){
         echo 'Data Expirada';
      }
      
      
  2. David CHC meu bom amigo, definindo assim a data, o sistema vai expirar nesta data ’02/05/2015′ ??? Como definir isso, no carregar do formulário de login, no caso de um sistema por exemplo? estou muito buscando algo assim.
    contatojawainfo@gmail.com

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *