1

Can this be done any way more pythonic?

>>> import datetime
>>> date = '20131018'
>>> date
'20131018'
>>> year, month, day = date[0:4], date[4:6], date[6:]
>>> datetime.date(int(year), int(month), int(day))
datetime.date(2013, 10, 18)

Thanks

user1741339
  • 507
  • 2
  • 6
  • 11

1 Answers1

4

Python already has a built-in way of parsing dates from strings in the datetime package, namely datetime.datetime.strptime:

>>> from datetime import datetime as dt
>>> date = '20131018'
>>> dt.strptime(date, "%Y%m%d").date()
datetime.date(2013, 10, 18)

See the docs for all of the available format / parsing options.

Sean Vieira
  • 155,703
  • 32
  • 311
  • 293