Using Python for date calculations

Steve Hayes hayesstw at
Fri Nov 21 09:35:19 CET 2014

I've finally found a use for Python. 

When, in the course of my genealogy research, I look at census or burial
records, I often want to work out a person's date of birth from their age.
It's a simple matter of mental arithmetic, but I sometimes get it wrong, and
mislead myself. There are calculators and date calculation programs, but they
are usually too complicated and try to do too much, so by the time you've
worked out what to do it takes much longer. 

This Python script does it for me. 

year = input("Year: ")
age = input("Age: ")
born = year-age
print 'Year of birth:', born

It's so simple, so elementary, that it's not really worth writing about,
except for the fact that it illustrates the KISS principle. 

It is sometimes better to have a simple program that does one thing well than
a complex one that does lots of things, but none of them very efficiently. 

The average hand calculator can do the same job, but you have to pick it up
and put it down, and you can't easily see if you've made a typo. 

Having said that, however, yes, I would perhaps like to use Python for more
complicated date processing routines, namely to convert the kinds of dates
produced by genealogy programs to a simple yyyy-mm-dd that computer database
programs can understand, so that "Abt May 1677" would be rendered as

Has anyone done something like that in Python?

Steve Hayes from Tshwane, South Africa
E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk

More information about the Python-list mailing list