[Python-es] Duda calculando edad
Arnau Sanchez
pyarnau en gmail.com
Vie Feb 26 12:58:04 CET 2010
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
Más información sobre la lista de distribución Python-es