Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Calcula a Idade
PHP
-
php
class Idade {
public function Calcular ($dia, $mes, $ano)
{
if (!checkdate($mes, $dia, $ano)) {
echo "A data que você informou está errada **[ $dia/$mes/$ano ]**";
exit;
}
$dia_atual = date("d");
$mes_atual = date("m");
$ano_atual = date("Y");
$idade = $ano_atual - $ano;
if ($mes > $mes_atual) {
$idade--;
}
if ($mes == $mes_atual and $dia_atual $dia) {
$idade--;
}
return $idade;
}
}
$calcula = new Idade();
$idade = $calcula->Calcular("18", "05", "1977");
echo "Você tem $idade anos";
?>entao, é cagada sua, a função funciona normalmente ...
>
está dando esseerro .. você pode me ajudar?
Parse error: parse error, expecting T_OLD_FUNCTION' or T_FUNCTION' or T_VAR' or '}'' in c:\windows\serv-n\www\portal\teste2.php on line 3
Você está testando no PHP 5?
[]'s
>
está dando esseerro .. você pode me ajudar?
Parse error: parse error, expecting T_OLD_FUNCTION' or T_FUNCTION' or T_VAR' or '}'' in c:\windows\serv-n\www\portal\teste2.php on line 3
Se não for php5 , tire o public da função
public function Calcular ($dia, $mes, $ano).
Cara funcionou beleza!Mas eu gostaria de implementar mais, como faço para que este cáculo me retorne também os meses e os dias.Tipo -> Você tem 29 anos 2 meses e 10 dias.
Correção: Restire o public
VAI FICAR ASSIM
>
class Idade {
function Calcular ($dia, $mes, $ano)
{
if (!checkdate($mes, $dia, $ano)) {
echo "A data que você informou está errada <b>[ $dia/$mes/$ano ]</b>";
exit;
}
$dia_atual = date("d");
$mes_atual = date("m");
$ano_atual = date("Y");
$idade = $ano_atual - $ano;
if ($mes > $mes_atual) {
$idade--;
}
if ($mes == $mes_atual and $dia_atual < $dia) {
$idade--;
}
return $idade;
}
}
$calcula = new Idade();
$idade = $calcula->Calcular("15", "3", "1990");
echo "$idade anos";
?>estou tendo um problema parecido. Toda vez q tem "implements", "public", "private", etc. ele dá esse mesmo erro!A única forma q tenho p/ resolver isso utilizando outra versão do php (estou usando a 4.3.10)???flwAna Christina
aqui funcionou certinho... vlw
mas, como avertut citou.... esse script só esta calculando o ano, como faço para calcular certinho o dia e o mes ?
t+
Tente assim
<?php
$date = new DateTime( '1901-10-11' ); // data de nascimento
$interval = $date->diff( new DateTime( '2011-12-14' ) ); // data definida
echo $interval->format( '%Y Anos, %m Meses e %d Dias' ); // 110 Anos, 2 Meses e 2 Dias
?>
Com as horas, minutos e segundos
<?php
$date = new DateTime( '1901-10-11 16:08:00' ); // data e hora de nascimento
$interval = $date->diff( new DateTime( ) ); // data e hora atual
echo $interval->format( '%Y Anos, %m Meses, %d Dias, %H Horas, %i Minutos e %s Segundos' );
?>como implementar esses dois codigos o do MandaChuva_MG e o do Carlos Coelho
tentei aqui mas deu erro, qualk a forma correta de implementar
Fatal error: Call to a member function format() on a non-object in
está dando esseerro .. você pode me ajudar?Parse error: parse error, expecting
T_OLD_FUNCTION' orT_FUNCTION' orT_VAR' or'}'' in c:\windows\serv-n\www\portal\teste2.php on line 3