Using Python for date calculations

Gary Herron gary.herron at islandtraining.com
Fri Nov 21 09:50:13 CET 2014


On 11/21/2014 12:35 AM, Steve Hayes wrote:
> 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
> "1677-05-00"
>
> Has anyone done something like that in Python?
>
>
>

The datetime module has lots of capabilities including the several you 
mention.

See  https://docs.python.org/2/library/datetime.html

Gary Herron




More information about the Python-list mailing list