Index: django/forms/extras/widgets.py
===================================================================
--- django/forms/extras/widgets.py	(revision 13299)
+++ django/forms/extras/widgets.py	(working copy)
@@ -7,6 +7,7 @@
 import re
 
 from django.forms.widgets import Widget, Select
+from django.utils import datetime_safe
 from django.utils.dates import MONTHS
 from django.utils.safestring import mark_safe
 from django.utils.formats import get_format
@@ -100,6 +101,7 @@
                 except ValueError:
                     pass
                 else:
+                    date_value = datetime_safe.new_date(date_value)
                     return date_value.strftime(input_format)
             else:
                 return '%s-%s-%s' % (y, m, d)
Index: tests/regressiontests/forms/extra.py
===================================================================
--- tests/regressiontests/forms/extra.py	(revision 13299)
+++ tests/regressiontests/forms/extra.py	(working copy)
@@ -435,6 +435,11 @@
 <option value="2016">2016</option>
 </select>
 
+Years before 1900 work
+>>> w = SelectDateWidget(years=('1899',))
+>>> w.value_from_datadict({'date_year': '1899', 'date_month': '8', 'date_day': '13'}, {}, 'date')
+'13-08-1899'
+
 >>> translation.deactivate()
 
 # MultiWidget and MultiValueField #############################################
