Parse rfc3339 date strings in Python? [duplicate]
You can use dateutil.parser.parse
(install with python -m pip install python-dateutil
) to parse strings into datetime objects.
dateutil.parser.parse
will attempt to guess the format of your string, if you know the exact format in advance then you can use datetime.strptime
which you supply a format string to (see Brent Washburne's answer).
from dateutil.parser import parsea = "2012-10-09T19:00:55Z"b = parse(a)print(b.weekday())# 1 (equal to a Tuesday)
This has already been answered here: How do I translate a ISO 8601 datetime string into a Python datetime object?
d = datetime.datetime.strptime( "2012-10-09T19:00:55Z", "%Y-%m-%dT%H:%M:%SZ" )d.weekday()
You should have a look at moment
which is a python port of the excellent js lib momentjs
.
One advantage of it is the support of ISO 8601
strings formats, as well as a generic "% format" :
import momenttime_string='2012-10-09T19:00:55Z'm = moment.date(time_string, '%Y-%m-%dT%H:%M:%SZ')print m.format('YYYY-M-D H:M')print m.weekday
Result:
2012-10-09 19:102