Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro HSA

CALCULAR IDADE RECEBIDA DE INPUT

Recommended Posts

OLÁ

 

TENHO DOIS OBJETOS EM UMA PÁGINA, UM TEXTBOX DE TYPE="DATA" E UM LABEL.

 

GOSTARIA QUE ASSIM QUE O USUÁRIO DIGITASSE UMA DATA, SUA IDADE FOSSE EXIBIDA NO LABEL.
 

<!DOCTYPE html>
<html lang="pt-br">
	<head>
		<title>CALCULAR iDADE</title>
	</head>
	<body>
		<!-- Div Data de Nascimento -->
		<div class="input-group col-xs-12 col-sm-12  col-md-10">
			<span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
			<input class="form-control" id="dtnasc" data-format="dd-mm-yyyy" maxlength="10" type="date" name="date" placeholder="Data de Nascimento"/>						
		</div>
		<!-- Div label IDADE -->
		<div id="idade" class="input-group col-xs-12 col-sm-12  col-md-1" style="background-color: #ccc; border-style: groove;>
		    	<p class="form-control-static">ID</p>
		 </div>
	</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por klonder
      Boas galera!
      Vou deixar aqui um código que acabei de criar de um método que recebe a data de nascimento em formato de string e retorna a idade. Eu tinha esse código em JAVA, fiz umas melhorias e adaptei para Python, para o novo sistema que estou desenvolvendo.
      Deixo aí para quem precisar e também para minhas pesquisas futuras:
      O método retorna a idade no padrão: AAa | AAa MMm | AAa MMm DDd, exemplos: 38a | 38a 14m | 38a 14m 5d
      Deixei o parâmetro "tipo" podendo receber "a", "m", "d" apenas para facilitar a referência a "anos", "meses" e "dias", mas sintam-se à vontade para alterar depois!
      Boa sorte!
      from datetime import datetime,date def calcularIdade(self,dtYYYYMMDD,tipo): #dtYYYYMMDD: string de data no formato YYYY-MM-DD (exemplo: padrão SQL) #tipo: Pode receber "a","m","d" -> a: retorna YYa | m: retorna YYa MMd | d: retorna YYa MMm DDd dtDN = datetime.strptime(dtYYYYMMDD, '%Y-%m-%d').date() dtHoje = date.today() anoNasc = int(dtDN.strftime('%Y')) anoHoje = int(dtHoje.strftime('%Y')) mesNasc = int(dtDN.strftime('%m')) mesHoje = int(dtHoje.strftime('%m')) diaNasc = int(dtDN.strftime('%d')) diaHoje = int(dtHoje.strftime('%d')) dtNiver = datetime.strptime(str(anoHoje)+"-"+str(mesNasc)+"-"+str(diaNasc), '%Y-%m-%d').date() diffAnos = anoHoje-anoNasc diffMeses = mesHoje-mesNasc diffDias = diaHoje-diaNasc if dtHoje<dtNiver:#Ainda não fez aniversário esse ano! diffAnos = anoHoje-anoNasc-1#Corrigindo o ano, pois ainda não fez aniversário diffMeses = 12+diffMeses#Corrigindo os meses/diffMeses é negativo!!! if diaHoje < diaNasc:#O mês ainda não virou diffMeses = diffMeses-1 #Para o cálculo dos dias, é importante avaliar uma série de variáveis: Mês com 28,20,30 ou 31 dias mes_anterior_31d = [1,2,4,6,9,11] mes_anterior_30d = [5,7,8,10,12] if mesHoje in mes_anterior_31d: diffDias = (31-diaNasc)+diaHoje elif mesHoje in mes_anterior_30d: diffDias = (30-diaNasc)+diaHoje else: if anoHoje%4 == 0:#Cálculos para anos bissextos diffDias = (29-diaNasc)+diaHoje else:#Anos não bissextos diffDias = (28-diaNasc)+diaHoje if tipo == "a": return str(diffAnos)+"a" elif tipo == "m": return str(diffAnos)+"a "+str(diffMeses)+"m " else: return str(diffAnos)+"a "+str(diffMeses)+"m "+str(diffDias)+"d" Exemplo de chamada:
      print(self.calcularIdade("1981-09-11","d"))  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.