I have an application that converts the following invalid dates, with only two-character years into a valid date format automatically while the user's filling out the form:
(NOTE: The application is only in-use by UK organisations, so the dates are all UK format only)
01/01/01 to 01/01/2001
14/05/58 to 14/05/1958
21/11/25 to 21/11/2025
It works out which century to use based on a semi-arbitrary threshold on 1950, so if a user inputs 49, they'll get 1949, but if they enter 50 they'll get 2050.
The conversion happens when the user tabs off the field and is visible immediately.
I recently received a complaint from one user who said they entered 10 and got 2010, but entered 27 and got 2027, not the 1927 they were hoping for. Their reasoning was that the 2027 was in the future, and should therefore convert to 1927 instead (because the future date was impossible).
I think in the long run, I'd love to just get rid of this functionality - I have no idea what's going to happen when we hit 2050... But in the short term, is there a way to alter the existing, basic, algorithm to make it more intuitive or user-friendly?
Background (not related to question)
For those interested, the user can also pick the date from a list of dates, or enter a date in a few other formats with various dashes and slashes and the system will make similar adjustments. If the system is unable to make an adjustment to the valid date format, it alerts the user via a visual cue and validation on the page fails.
The uses of the terms "valid" and "invalid" here are purely in relation to the application and have no bearing on any particular national or international date format.
Similar to this question: Date picker subtleties: Input year by using numeric keys
