tekion <tek...@gmail.com> writes: > Ben, > I do not have python 2.6 install, my version of Python is 2.4.
Ouch :-( Upgrade as soon as possible, 2.4 is no longer receiving bug fixes <URL:http://www.python.org/download/releases/2.4.6/>. > So I guess I am stuck on parsing the string "24/Nov/2009:12:00:00 > -0500" using regex and or string function No, as I suggested, you can use the ‘datetime.datetime’ constructor with the ‘time.strptime’ output. You only have available the formatting in <URL:http://docs.python.org/library/time.html#time.strftime>, so the numeric time zone will be un-parseable by ‘time.strptime’:: >>> import datetime >>> import time >>> in_text = "24/Nov/2009:12:00:00 -0500" >>> in_time_format = "%d/%b/%Y:%H:%M:%S %Z" >>> time.strptime(in_text, in_time_format) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/_strptime.py", line 293, in strptime raise ValueError("time data did not match format: data=%s fmt=%s" % ValueError: time data did not match format: data=24/Nov/2009:12:00:00 -0500 fmt=%d/%b/%Y:%H:%M:%S %Z Instead you'll need to do as has already been suggested: strip the numeric time zone and parse the remaining data:: >>> in_text = "24/Nov/2009:12:00:00 -0500".split(' ', 1)[0] >>> in_text '24/Nov/2009:12:00:00' >>> in_time_format = "%d/%b/%Y:%H:%M:%S" >>> time.strptime(in_text, in_time_format) (2009, 11, 24, 12, 0, 0, 1, 328, -1) and use the hack documented in Python 2.6's ‘datetime.datetime.strptime’ function to create a ‘datetime’ object:: >>> in_time = datetime.datetime(*(time.strptime(in_text, in_time_format)[0:6])) >>> in_time datetime.datetime(2009, 11, 24, 12, 0) The benefit of upgrading to Python 2.6 is that you don't need to go through these contortions with the ‘time’ type's output, you can use the new ‘datetime.datetime.strptime’ method to get there in one step <URL:http://docs.python.org/library/datetime.html#datetime.datetime.strptime>. > to get the output to "2009-11-24 12:00:00". Once you have a ‘datetime’ object, you can use its ‘strftime’ function <URL:http://docs.python.org/library/datetime.html#strftime-behavior> to create a string representation:: >>> out_time_format = "%Y-%m-%d %H:%M:%S" >>> in_time.strftime(out_time_format) '2009-11-24 12:00:00' -- \ “I find the whole business of religion profoundly interesting. | `\ But it does mystify me that otherwise intelligent people take | _o__) it seriously.” —Douglas Adams | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list