Django string to date format

It should be %Y-%m-%d:

>>> s = "2014-04-07"
>>> datetime.datetime.strptime(s, "%Y-%m-%d").date()
datetime.date(2014, 4, 7)

According to the documentation:

  • %Y stands for a year with century as a decimal number
  • %m - month as a zero-padded decimal number
  • %d - day of the month as a zero-padded decimal number

Hope that helps.


It might be convenient to use django's dateparse in this case.

from django.utils.dateparse import parse_date
date_str = request.POST.get('date')
date = parse_date(date_str)