Smart Dates save you time when it comes to entering a date in any date field. All date fields are smart enough to determine if the numbers and/or dividers entered can be parsed to a valid date.
When tabbing into a date field it will highlight any existing date. This way when the user starts to type it will remove any previous date in the field and replace it with the numbers they type. Pressing the Enter key will attempt to parse the numbers entered to a valid date.
Numbers between 1 and 31 will assume the current month and year:
A 2 digit date entry between 32 and 99 assumes month/day for the current year:
A 3 digit date entry assumes month/day for the current year:
Use slashes, dashes, spaces, periods or just numbers:
|1 12 17||=||01/12/2017|
|22||12/22/2015 (If the number is between 1 and 31 it will assume the current month and year)|
|77||07/07/2015 (if a 2 digit number is between 31 and 99 it can be parsed to a month, day and use the current year)|
|101||10/01/2015 (3 digits will assume the current year and also assumes no leading zero. This would parse to 10 not 01.)|
|0215||02/15/2015 (4 digits will assume the current year)|
|5-5-15||05/05/2015 (dashes convert to /)|
|9.18.15||09/15/2015 (periods convert to /)|
|1 12 15||01/12/2015 (spaces convert to /)|
|1 11||01/11/2015 (spaces convert to /)|
|11 1||11/01/2015 (spaces convert to /)|
|11515||This could be either 1/15/2015 or 11/05/15 (see the rules below for more details on this)|
- If there is a Date Range restriction for the selected date control, it will verify the entered date is valid or display the following message.
- "The date you entered falls outside of the required date range of mm/dd/yyyy and mm/dd/yyyy. Please enter a date within this date range or select a date from the Calendar button."
- Acceptable date divider inputs are "/" or "-" or "." or "space".
- Convert all dividers to use "/" for the date divider (ex: 06/15/2015)
- If no year is entered it will always assume the current year.
- A year can be entered using 2 or 4 digits.
- A 1 or 2 digit date entry between 1 and 31
- This will assume the current month and year and use 1-31 as the day. (ex: 15 = 09/15/2015)
- If a month does not have 31 days, then 29-31 can be used to parse the Month and Day and use the current year. (ex: 31 in February = 03/01/2015)
- The smallest date accepted is 1-9 which would be the current month and year with days 1-9. (ex: 1 = 09/01/2015)
- A 2 digit date entry between 32 and 99
- Assuming the first number can parse to a single digit month and the second number to a single digit day. (ex: 42 = 04/02/2015).
- 2 digit dates would only work for March (3) through September (9) and for days 1-9.
- A 3 digit date entry
- Assuming the first number can parse to a single digit month and the second 2 numbers to a 2 digit day (ex: 315 = 03/15/2015) OR
- Assuming the first 2 numbers can parse to a 2 digit month and the third number to a 1 digit day (ex: 125 = 12/05/2015).
- If a 3-5 digit date can parse to multiple dates, then pick the closest one to the current date. (ex: 111 or 11115 can be 01/11/2015 OR 11/01/2015)
- This scenario can happen with 3-5 digit dates can parse to October (10), November (11), December (12) or January (01).
- Here are some examples: 111, 108, 121, 115, 129, 11915, 11115, 12915, etc.
- If the user enters a 3 or 5 digit date that can have more than one date, compare both scenarios to the current date and use the one that is closest by default. The user can always type 4 digits if they want to force the other date or pick from the drop down graphical calendar.
- Current date of 05/01/2015 and entering 111 would pick 01/11/2015
- Current date of 09/15/2015 and entering 111 would pick 11/01/2015
- Current date of 09/15/2015 and entering 129 would pick 12/09/2015
- Current date of 09/15/2015 and entering 108 would pick 10/08/2015
- Current date of 11/25/2015 and entering 111 would pick 11/01/2015
- Current date of 12/31/2015 and entering 111 or 11116 would pick 01/11/2016 (Note that it picked January of the next year in this example)
- Current date of 12/31/2015 and entering 11115 would pick 11/01/2015
- Additional Scenario with Multiple Dates
- We have set some controls to inactive dates of closed periods. We will only have dates that are not disabled in the calendar control as possible values. So lets say you are in the GL and you are in February 2015 and you type in 111. It will go to 1-1-2016 even though it's further away if the calendar is disabled because this would mean that the period in question is closed. In this case, January of 2015 is closed and the dates will be disabled in the calendar control anyway.
- We will be able to handle International date formats in the future. This will be formatted based on the Operating Systems Regional Settings.