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.
django.utils.dateparse.parse_date
function will return None
if given date not in %Y-%m-%d
format
I have not found a function in django source code to parse string by DATE_INPUT_FORMATS
. So I wrote a custom helper function for that and I have added to here for help others.
from datetime import datetimefrom django.utils.formats import get_formatdef parse_date(date_str): """Parse date from string by DATE_INPUT_FORMATS of current language""" for item in get_format('DATE_INPUT_FORMATS'): try: return datetime.strptime(date_str, item).date() except (ValueError, TypeError): continue return None