Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: convert free text to date

Assuming the text is typed at the same time in the same (Israeli) timezone, The following free text lines are equivalent:

Wed Sep  9 16:26:57 IDT 2009
2009-09-09 16:26:57
16:26:57
September 9th, 16:26:57

Is there a python module that would convert all these text-dates to an (identical) datetime.datetime instance?

I would like to use it in a command-line tool that would get a freetext date and time as an argument, and return the equivalent date and time in different time zones, e.g.:

~$wdate 16:00 Israel
Israel:        16:00
San Francisco: 06:00
UTC:           13:00

or:

~$wdate 18:00 SanFran
San Francisco  18:00:22
Israel:        01:00:22 (Day after)
UTC:           22:00:22

Any Ideas?

Thanks,

Udi

like image 685
Adam Matan Avatar asked Jan 24 '23 05:01

Adam Matan


2 Answers

The python-dateutil package sounds like it would be helpful. Your examples only use simple HH:MM timestamps with a (magically shortened) city identifier, but it seems able to handle more complicated formats like those earlier in the question, too.

like image 100
unwind Avatar answered Jan 25 '23 18:01

unwind


parsedatetime seems to be a very capable module for this specific task.

like image 41
Alex Martelli Avatar answered Jan 25 '23 20:01

Alex Martelli