On 26/02/10 10:29, Chema Cortes wrote:

Es la típica pregunta que parece simple pero que acaba teniendo una
solución complicada. Hace un tiempo lo estuvimos discutiendo:

http://article.gmane.org/gmane.comp.python.general.castellano/18910

Leyendo el hilo en diagonal parece que ese caso era más complejo, ya que buscabais años/meses/días. Si sólo necesitamos la edad "normal", es decir, cuántos años tiene una persona, algo así debería funcionar:

#!/usr/bin/python
import datetime

def get_age(birth, today=None):
  today = today or datetime.date.today()
  years = ((today.year - birth.year - 1) +
    (1 if (today.month, today.day) >= (birth.month, birth.day) else 0))
  return years

birth = datetime.datetime(1980, 1, 1)
print get_age(birth) # 30

--
http://www.arnau-sanchez.com
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a