Trying to convert to datetime
Question: I am using datetime to convert a time string. I used the
[reference](https://docs.python.org/2/library/time.html#time.strptime) for the
specifying the format. How should I have coded the format?

    
    
    In [19]:import datetime
    
    In [20]: d
    Out[20]: 'Oct. 30, 2014, 6:17 a.m.'
    
    In [21]: format
    Out[21]: '%b. %d, %Y, %I:%M%p.'
    
    In [22]: date_object = datetime.datetime.strptime(d, format)
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-22-78ccb659d6ac> in <module>()
    ----> 1 date_object = datetime.datetime.strptime(d, format)
    
    /usr/lib/python2.7/_strptime.pyc in _strptime(data_string, format)
        323     if not found:
        324         raise ValueError("time data %r does not match format %r" %
    --> 325                          (data_string, format))
        326     if len(data_string) != found.end():
        327         raise ValueError("unconverted data remains: %s" %
    
    ValueError: time data 'Oct. 30, 2014, 6:17 a.m.' does not match format '%b. %d, %Y, %I:%M%p.'
    

I came across this tool, "dateutil" and

    
    
    In [20]: d
    Out[20]: 'Oct. 30, 2014, 6:17 a.m.'
    
    In [34]: from dateutil import parser
    
    In [35]: date_obj = parser.parse(d)
    
    In [36]: date_obj
    Out[36]: datetime.datetime(2014, 10, 30, 6, 17)
    

I get this

    
    
    /home/tilaprimera/.virtualenvs/picovico/lib/python2.7/site-packages/django/db/models/fields/__init__.py:1278: RuntimeWarning: DateTimeField GCMDevice.created_at received a naive datetime (2014-10-30 06:17:00) while time zone support is active.
      RuntimeWarning)
    

The thing is, I am trying to query the database with this time but
unfortunately, with some information lost, I do not get a match on the time.


Answer: Close, but no cigar. I figured it out by doing
`datetime.datetime.now().strftime()` with your format string and playing
around a bit. You need two changes:

    
    
    d = 'Oct. 30, 2014, 6:17 AM'
    format = '%b. %d, %Y, %I:%M %p'
    

There is unfortunately no format specifier that accepts `a.m.` (at least not
in the English locale I tried). For more on this, see here:
<http://stackoverflow.com/a/2925280/4323>

