diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 76c12e2dcb..0f861f0046 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -1004,7 +1004,10 @@ class SelectDateWidget(Widget): if isinstance(value, (datetime.date, datetime.datetime)): year, month, day = value.year, value.month, value.day elif isinstance(value, str): - if settings.USE_L10N: + match = self.date_re.match(value) + if match: + year, month, day = [int(val) for val in match.groups()] + elif settings.USE_L10N: input_format = get_format('DATE_INPUT_FORMATS')[0] try: d = datetime.datetime.strptime(value, input_format) @@ -1012,9 +1015,6 @@ class SelectDateWidget(Widget): pass else: year, month, day = d.year, d.month, d.day - match = self.date_re.match(value) - if match: - year, month, day = [int(val) for val in match.groups()] return {'year': year, 'month': month, 'day': day} @staticmethod