Pular para o conteúdo principal

Função em php que gera uma data futura

Para quem precisa de uma função em php que calcula o dia seguinte aí vai:

function fdt_futura($data,$tipo="d",$quantidade=1)
{
/*recebe a data no formato dd/mm/aaaa
d é dia
m é mês
a é ano
Exemplos:
echo "O dia seguinte de 03/11/2006 = ".data_futura("03/11/2006")."<br>";
echo "Dois dias depois de 03/11/2006 = ".data_futura("03/11/2006","d",2)."
";
echo "Tres meses depois de 03/11/2006 = ".data_futura("03/11/2006","m",3)."
";
echo "Quatro anos depois de 03/11/2006 = ".data_futura("03/11/2006","a",4)."
";
echo "Amanha = ".data_futura(date("d/m/Y"))."
";
echo "Ontem = ".data_futura(date("d/m/Y"),"d",-1)."
";*/
$temp = explode("/", $data);
// se for dia
if ($tipo == "d")
{
$dia = $temp[0]+$quantidade;
}
else
{
$dia = $temp[0];
}
// se for mes
if ($tipo == "m")
{
$mes = $temp[1]+$quantidade;
}
else
{
$mes = $temp[1];
}
// se for ano
if ($tipo == "a")
{
$ano = $temp[2]+$quantidade;
}
else
{
$ano = $temp[2];
}
return date("d/m/Y", mktime(0, 0, 0, $mes, $dia, $ano));
}

Comentários

Postagens mais visitadas deste blog

Lista de órgãos emissores de RG

Para quem quiser normalizar os órgãos emissores de RG, aí vai uma lista retirada do site da FGV: SSP - Secretaria de Segurança Pública PM - Polícia Militar PC - Policia Civil CNT - Carteira Nacional de Habilitação DIC - Diretoria de Identificação Civil CTPS - Carteira de Trabaho e Previdência Social FGTS - Fundo de Garantia do Tempo de Serviço IFP - Instituto Félix Pacheco IPF - Instituto Pereira Faustino IML - Instituto Médico-Legal MTE - Ministério do Trabalho e Emprego MMA - Ministério da Marinha MAE - Ministério da Aeronáutica MEX - Ministério do Exército POF - Polícia Federal POM - Polícia Militar SES - Carteira de Estrangeiro SJS - Secretaria da Justiça e Segurança SJTS - Secretaria da Justiça do Trabalho e Segurança ZZZ - Outros (inclusive exterior)

Comparar dois números float em PHP

Para não passar raiva comparando dois números float com PHP nunca faça algo do tipo abaixo: $a = 0.1; $b = 0.2; if ($a + $b == 0.3) {     echo 'Igual'; } else {     echo 'Diferentes'; } Se fizer isso, vai ver que dá problema devido ao modo como o PHP guarda os valores float. Para resolver isso criei a função abaixo para comparar dois valores do tipo float. /** * Esta função recebe dois números como parâmetro.   * Se os números forem iguais, ou seja, se a diferença  * entre eles for menor que a margem de erro aceitável,   * a função retorna 0, caso contrário retorna -1 se o  * primeiro número for menor, * ou então 1 caso o segundo  * seja o menor   * @param float $a   * @param float $b   * @return 0 (igual), -1($num1 menor), 1($num2 menor)   */ function compara_float( $num1 , $num2 , $precisao = 5 ) {   $desprezar = pow ( 0.1 , $precisao );   $diff = abs ( $num1 - $...