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
해결책
parsedatetime seems to be a very capable module for this specific task.
다른 팁
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.
You could you time.strptime
Like this :
time.strptime("2009-09-09 16:26:57", "%Y-%m-%d %H:%M:%S")
It will return a struct_time value (more info on the python doc page).