Jump to content

Search the Community

Showing results for tags 'idade em python'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 1 result

  1. 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"))
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.