How to find difference in years between two dates?
Bruno Desthuilliers
onurb at xiludom.gro
Wed Jul 26 09:09:26 EDT 2006
thebjorn wrote:
> For the purpose of finding someone's age I was looking for a way to
> find how the difference in years between two dates, so I could do
> something like:
>
> age = (date.today() - born).year
>
> but that didn't work (the timedelta class doesn't have a year
> accessor).
>
> I looked in the docs and the cookbook, but I couldn't find anything, so
> I came up with:
>
> def age(born):
> now = date.today()
> birthday = date(now.year, born.month, born.day)
> return now.year - born.year - (birthday > now and 1 or 0)
>
> i.e. calculate the "raw" years first and subtract one if he hasn't had
> his birthday yet this year... It works, but I'd rather use a standard
> and generic approach if it exists...?
You may want to have a look at mxDatetime, which has a RelativeDateTime
type that seems to do what you want:
http://www.egenix.com/files/python/mxDateTime.html
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"
More information about the Python-list
mailing list