Gracias Eduardo y Jesús,

El detalle de Jesús es cierto, aunque en el caso de esta aplicación no es necesario implementarlo, de todas formas podría hacerse algo así no?

def age(self):
        yeardays = 365
        act_year = datetime.date.today().year
        diff = (datetime.date.today() - self.birth_date).days
        if act_year / 4 == 0 and act_year != 100 or act_year / 400 == 0:
                yeardays += 1
        else:
                yeardays = 365
        years = str(int(diff/yeardays))
        return unicode(years + ' años')


El 26/02/2010, a las 6:20, Jesus Cea escribió:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/26/2010 01:41 AM, Eduardo Matus wrote:
cuidado con los caracteres especiales
 def age(self):
       diff = (datetime.date.today() - self.birth_date).days
       years = str(int(diff/365))
       return unicode(years + ' años')

¿Y los años bisiestos?.

Lo más obvio sería restar los años, y luego sumarle uno si el día y mes
actual es igual o superior al día y mes de nacimiento. Así es como lo
hacemos los humanos.

_______________________________________________
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