Skip to content
Advertisement

How to convert `ctime` to `datetime` in Python?

import time
t = time.ctime()

For me at the moment, t is 'Sat Apr 21 11:58:02 2012'. I have more data like this.

My question is:

  • How to convert t to datetime in Python? Are there any modules to to it?

I tried to make a time dict and then convert t, but feel like that’s not the best way to do it in Python.

Details:

  • I have a ctime list (like ['Sat Apr 21 11:56:48 2012', 'Sat Apr 21 11:56:48 2012']).
  • I want to convert the contents to datetime, then store that in a db with timestamp.

Advertisement

Answer

You should use strptime: this function parses a string representing a time according to a format. The return value is a struct_time.

The format parameter defaults to %a %b %d %H:%M:%S %Y which matches the formatting returned by ctime().

So in your case just try the following line, since the default format is the one from ctime:

import datetime
import time

datetime.datetime.strptime(time.ctime(), "%a %b %d %H:%M:%S %Y")

Returns: datetime.datetime(2012, 4, 21, 4, 22, 00)

Advertisement